Re: [PD] pdmtl abstractions questions and comments (previously without a subject)

2007-07-07 Thread robbert van hulzen

that's a great idea there! thanks for that one.

Thomas O Fredericks <[EMAIL PROTECTED]> wrote:

> Also, since the "_"
> abstractions simply wrap their counterparts, they are both
> automatically updated if the "engine" is updated.



___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-06 Thread Mathieu Bouchard

On Thu, 5 Jul 2007, Alexandre Quessy wrote:

When inside an abstraction, let says foo/bar.pd, if you want to use an
external that is named [bar], Pd complains :
"error: bar: can't load abstraction within itself
bar
... couldn't create"


This happens only when [bar] is not the name of an already-loaded 
external. If [bar] is loaded before [foo/bar] is, the above problem 
will not occur.


This kind of dependency on loading order is something that would usually 
be regarded as quite evil. It's sort of related to object numbering and 
wire numbering issues that are well known, but class loading order issues 
are the trickiest in that group of problems and the most difficult to get 
rid of.


And then, let say there is a "foo/counter.pd" in the same directory and 
that you wan to create a [counter], it will instanciate the "counter.pd" 
that is in that folder, and not the external that is in 
/usr/lib/pd/extra, for instance.


And yet, [/counter] will not pick up the toplevel [counter] name, because 
[counter] is looked up in -path, while [/whatever/the/name] never is. This 
is very much like the "shell" languages (bash, tcsh, ..., but not tclsh).


The filesystem<->namespaces mapping is very much varying from language to 
language, but usually, the thing called "namespace" is separate from the 
filesystem (e.g. C++,Tcl,Ruby) or maps to some kind of particular $PATH 
(e.g. Java), or is a "shell" language as defined above.


What I mean is that if Pd had "::" as in C++,Tcl,Ruby, then [::counter] 
would look for a prefixless "counter" but still in -path, as long as one 
is not already loaded. This could be the behaviour assigned to a plain "/" 
prefix, if one was willing to give up absolute folder names.



to change for a better one, if one exists. (maybe "$". "|", or "+",
such as in "rgb$" or "rgb+" ?)


Even though $ as a suffix might be accepted by the current pd, I don't 
think it's a good idea to use it for anything else than variable 
substitution of some kind (either pd's or expr's).


By the way (regarding $args and $), I wrote a [flow/pak] that is a 
[pack] with all inlets hot ! (using dynamic patching)


[#pack] is also all-inlets-hot.

 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-05 Thread Patco
Mathieu Bouchard a écrit :
> On Mon, 2 Jul 2007, Patco wrote:
>
>> I vote for no namespace, no prefix,
>
> You can't argue the case for no prefix at all ever. There are lots of 
> reasons to use prefixes at least sometimes. What's debatable is when 
> they should be used and why. (in this context, whenever namespaces act 
> just like prefixes, they're effectively the same, so they are 
> debatable in the same way as prefixes are)
  Indeed I can't argue for no prefix at all, because I am using prefixes 
in my sets of abstractions, particulary for sorting them in a dynamic 
patching process,
and that makes patches difficult to use fully outside of their context 
unfortunately.

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-05 Thread Patco
Hello Alex,

Alexandre Quessy a écrit :
> Now, we'll  change a few more things, and make it (finally) part of
> pd-extended. Don't hesitate to suggest a better suffix than "_" for
> the abstractions that provide a Graph-on-parent GUI, as we would like
> to change for a better one, if one exists. (maybe "$". "|", or "+",
> such as in "rgb$" or "rgb+" ?) Also, feel free to suggest some of your
> abstractions to be part of this.
>
>   
Two suggestions, using a familiar prefix might help for finding the good 
kind of abs, so 'x' might be a good prefix for graphical related 
patches, but the 'interface' is not involved by the 'x' prefix so 'gui' 
could simply give informations about interfacing, and using something 
like myabs-gui like it is done for help files, and would ease even more 
the finding of the abs function through the name, and, this naming would 
also help I believe, for having a 'gui function' with right click magiks 
on a patch, almost like it is done with help files (the difference is 
that this right click option would have to appear with clicking inside 
the patch), maybe it won't be usefull,  may be it would...In fact it 
seems obvious to me that if some patch require an interface for being 
controlled, the minimum would be about providing the interface with it. 
Although it seem also obvious that one gui could control different kinds 
of dsp abstractions, so having a different gui for each dsp abs would 
not be the best choice, and make the task of interfacing (for both 
developper and user) not necessarily more complicated, but tiresome.
PatCo.


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-05 Thread Alexandre Quessy
Hi,

2007/7/3, Mathieu Bouchard <[EMAIL PROTECTED]>:
> On Mon, 2 Jul 2007, Thomas O Fredericks wrote:
> >
> > I have been using the pmdtl folder namespaces for a year now and have
> > NEVER had a similar problem. I tried replicating the example in a
> > practical context, but I cannot. This issue is a theoretical problem
> > that never happens in a practical context.
>
> No, it's not theoretical, it's just false. There are problems that are
> similar to that, but knowing pd's implementation, I should've known
> better. See my mail to Patrice Colet today about this.
>

When inside an abstraction, let says foo/bar.pd, if you want to use an
external that is named [bar], Pd complains :
"error: bar: can't load abstraction within itself
 bar
... couldn't create"

And then, let say there is a "foo/counter.pd" in the same directory
and that you wan to create a [counter], it will instanciate the
"counter.pd" that is in that folder, and not the external that is in
/usr/lib/pd/extra, for instance.

So yes, such a design is neither problems-free, nor a panacea, but so
far our abstractions development has been overall facilitated a lot by
the use of categories like these, and the Subversion repository that
goto10.org is providing us.

Now, we'll  change a few more things, and make it (finally) part of
pd-extended. Don't hesitate to suggest a better suffix than "_" for
the abstractions that provide a Graph-on-parent GUI, as we would like
to change for a better one, if one exists. (maybe "$". "|", or "+",
such as in "rgb$" or "rgb+" ?) Also, feel free to suggest some of your
abstractions to be part of this.

By the way (regarding $args and $), I wrote a [flow/pak] that is a
[pack] with all inlets hot ! (using dynamic patching)

-- 
Alexandre Quessy
http://alexandre.quessy.net
http://www.puredata.info/Members/aalex

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-04 Thread Mathieu Bouchard

On Wed, 4 Jul 2007, Jamie Bullock wrote:

On Tue, 2007-07-03 at 13:00 -0400, Mathieu Bouchard wrote:

verb/is article/this noun/sentence adjective/easier prep/to verb/read ?

Yes, but how do you resolve:
verb/colour
noun/colour
adjective/colour


the verb could be written "colourise".

the verb could be prefixed with "to ", as an infinitive, while the noun 
wouldn't.


there is no adjective "colour", although like many nouns it can be used in 
several grammatical cases to form adjective-like prefixes such as in 
"colour-blind".



video/colour
audio/colour


That is a good example; also there are several definitions of colour in 
use in video and/or visual arts. Colour is often assumed to be the 
information in a RGB pixel or equivalent, but sometimes it's assumed to 
include opacity as well. However, on my old telly, "COLOR" means "chroma 
gain" (saturation gain) instead, and that's also what "colour" means in 
Video4Linux1 digitiser settings. "Colour balance" usually means "chroma 
offset", nothing to do with luma and thus nothing to do with the whole of 
RGB, but not directly saturation either. In elementary school, our teacher 
was proud to teach us that "black and white are not REAL colours!".


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-04 Thread Mathieu Bouchard

On Wed, 4 Jul 2007, Chris McCormick wrote:

On Tue, Jul 03, 2007 at 01:00:34PM -0400, Mathieu Bouchard wrote:

verb/is article/this noun/sentence adjective/easier prep/to verb/read ?

Written english is quite different in application and parsing to
objectboxes in the Puredata patching language. In my opinion the
directory prefix adds to the understanding of what an objectbox is
doing by adding context, whilst in your example above the context is
inherent in the rules of the language and hence clumsy, confusing,
and redundant. I think you are comparing apples and oranges, and the
comparison is not a good argument against directory prefixes in object
boxes.


You are right about my comparison.

You are mostly right about what the prefixes do in pdmtl-abstractions. 
Whether each prefix is useful or not for a given object class, depends on 
what is one's ability to interpret the class name, but for some things it 
can be pretty automated: so far, every object class that has a "2" in the 
non-prefix part of its name, either go in category "convert" or category 
"musical". Whenever those are in category "musical", they would have been 
also candidates for "convert" but "musical" was picked instead. (the 
prefix system causes competition between intersecting categories)


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-04 Thread Luke Iannini (pd)

On 7/4/07, Thomas Grill <[EMAIL PROTECTED]> wrote:



He's back!

greetings, Thomas

I am glad about it : )
___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-04 Thread Thomas O Fredericks
To better understand the concept behind the pdmtl abstractions, please
read the following: http://wiki.dataflow.ws/PdMtlAbstractions/Features

Also, the fact that the pdmtl abstractions uses a one depth folder
category system seems to bother and confuse some, more than if the
abstractions simply used a prefix .

Since the pdmtl abstractions are aimed for newbies and pro's alike, I
am thinking that maybe I should change the categorizing system in the
following manner (I kind of like how the abstractions look all sorted
and neat in my file browser, but I never anticipated this could be a
conceptual problem for some):

* separate the category name from the rest of the abstraction name with a "_"

while keeping the following rules:
* keep a limited number of categories (lets say not more than 30)
* also separate the rest of the words of an abstraction name with a "_"

I could adapt the pdmtl browsers so they still look like the newbie
friendly max/msp object box.

What do you think (this question is aimed at the pd list, the pdmtl
list and the pdmtl abstractions list)?



On 7/4/07, Jamie Bullock <[EMAIL PROTECTED]> wrote:
> On Tue, 2007-07-03 at 13:00 -0400, Mathieu Bouchard wrote:
> > On Mon, 2 Jul 2007, Thomas O Fredericks wrote:
> >
> > > Yes, everything does have to be in a category. This constraint makes
> > > for an environment that is especially useful for newbies and resolves
> > > a lot of conflicts.
> >
> > verb/is article/this noun/sentence adjective/easier prep/to verb/read ?
> >
>
> Yes, but how do you resolve:
>
> verb/colour
> noun/colour
> adjective/colour
>
> or...
>
> video/colour
> audio/colour
>
> As humans we differentiate between these by their context, but PD is not
> that clever...
>
> Jamie
>
>


-- 
thomas ouellet fredericks, [EMAIL PROTECTED], montreal, canada

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-04 Thread Frank Barknecht
Hallo,
Mathieu Bouchard hat gesagt: // Mathieu Bouchard wrote:

> >If someone else does an abstraction collection for lists, I'd say,
> >"list_" or "list." are two other good choices.
> 
> So far, Max seems to be using ".", for example "jit."; because of this, 
> I've used the "." prefix but for "lti." classes; actually I also used it 
> for some PureUnity classes, initially like "f." "~." "#." to mean float's, 
> signal's, grid's, in a way that is meant to be used as [$1.hello]. I have 
> changed this to around to [hello.$1] because of pd 0.40 and of personal 
> preference.

There is a minor annoaynce with the dot for abstractions ATM because
of an unfixed bug: If you save a new abstraction that already has a
dot in its name like "list.abs", you need to add the ".pd" extension
manually, otherwise Pd will save it as "list.abs" instead of
"list.abs.pd". This is not a problem with "list-abs" which gets the
suffix added automatically by Pd.

> >Where directory prefixes shine however is for making packages of
> >externals and abstractions. Pd-extended is the prime example: It can
> >ship all five [counter] objects, which would be impossible without
> >subdirectories for each collection.
> 
> Edit the five source files, changing the name in it for something else. Is 
> that so impossible? It might not be pretty, but I wouldn't call it 
> "impossible".

Well, but then you wouldn't have five objects named [counter]
anymore. And of course there is the social problem: How is it decided,
which counter should keep its name? And that is actually what I meant
with this: 

> >All this to me seems to kind of pervert what Guenther Geiger actually 
> >intended when suggesting directory prefixes and initiating the 
> >CVS-repository.

IIRC one motive to start the CVS was to get rid of objects that do
slightly different things but have the same name (like the [counter]s)
by first collecting them all in one place (Sourceforge), see what's
duplicated and/or conflicting, and then decide on the one "real"
counter - possibly keeping the four others with different names. 

Unfortunatly we didn't get further with developing an infrastructure
to decide things like that.

> Actually, it never occurred to me that those two things were related. I 
> think that I joined pd-list shortly after the CVS created, but I don't 
> recall that anyone said (in the last five years of pd-list) that the whole 
> externals/ thingie had to do with Geiger namespaces. 

The namespace and the CVS are not related directly, I didn't want to
imply that. Geiger namespaces are just way to keep the four other
[counter]s from above available, in case someone needs them. However I
fear, that they also became a kind of excuse to not think about
developing a way to decide things like "which [counter] to keep".

> >and the "Path" window is filled with more entries than it can handle.
> 
> Apart from what the intention might have been about paths or libs 
> (libdirs), this is not a problem with Hans's work per se, it's a problem 
> in u_main.tk, and it's very possible to fix it: e.g. 
> http://artengine.ca/desiredata/gallery/pdrc_5b.gif and the same user 
> interface also exists for -path and -helppath separately.

Of course one could easily overhaul the path windows (and one has to do
it for plain Pd as well) to be able to handle more paths, but the
actual problem is: Why are there so many paths and are they all really
necessary?

> >[list-abs/list-abs] is bit-rot.
> 
> Well, i've only seen the word "bit-rot" to mean things that result from 
> not updating software to changing interfaces (I'm not counting the meaning 
> of it that has to do with physical media). Thus I don't really know what 
> you mean by [list-abs/list-abs] is bit-rot: it's not like your [list-abs] 
> has gone unmaintained for years such that the definition of pd (or what pd 
> is in practice) has changed such that is has become contextually broken or 
> outdated or irrelevant...

I meant: Using [list-abs/list-abs] instead of just [list-abs] is a
kind of bit rot, because the more people use the double or triple
prefix, the more it gets carved into (some) stones and at some point,
users will expect the [list]-abs objects with long names to be
available. Maybe that's not something to call bit rot, but it would be
rotten. ;) 

Ciao
-- 
 Frank Barknecht _ __footils.org_ __goto10.org__

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-04 Thread Thomas Grill

Am 03.07.2007 um 16:55 schrieb Mathieu Bouchard:


>
> I have never considered otherwise than direct class registration  
> for any external language, and I'm kind of puzzled about why would  
> anyone ever do otherwise. Anyway: I could show you a bit of C that  
> creates an alias that redirect a certain name to [py python/ 
> myscript myclass]. Else there is supposedly the new  
> sys_register_loader (pd 0.40) which can help with that; it would  
> not have been required but Thomas decided to share Hans'  
> exaggeration of the power of sys_register_loader.

He's back!

greetings, Thomas



___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments (previously without a subject)

2007-07-04 Thread Thomas O Fredericks
> > b) abstractions that finish with "_" are graphical abstractions.
> > Sometimes, we create an abstraction without a gui, then we create a
> > gui that wraps the same abstraction. The name of both abstractions
> > will be the same, except that the second version will have a "_"
> > appended.
>
> This sounds to me that you are exposing the implementation in the
> interface.  The interface should be defined separately from the
> implementation, and definitely does not need to reflect it.  When
> using an object, it is a distraction to think about the
> implementation of that object.  Instead the programmer should be
> thinking about the implementation of the program that is being
> built.  Therefore, the programmer would only need to know about the
> interface.

I do not understand your comment, but here are more details on how
this works: a pdmtl abstraction whose name ends with a "_" (or a "_~")
is usually exactly the same abstraction as one that has the same name
but does not end with a "_" (or  "_~"). For the programmer, there is
no difference between the inlets or outlets of both versions. The only
difference is that in one version, the abstraction is a Graph On
Parent that displays on screen controls, while the other does not.
Usually when I am programming, I will use the nice and convenient "_"
(GOP) version. But, since we all know Pd's graphic engine is real
slow,  when it is time to set up an installation or do a performance
or when I generate the abstractions dynamically , I will switch the
abstractions to the non GOP version WITHOUT hurting in any way the
interconnection between all the objects. Also, since the "_"
abstractions simply wrap their counterparts, they are both
automatically updated if the "engine" is updated.

Tom

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-04 Thread Jamie Bullock
On Tue, 2007-07-03 at 13:00 -0400, Mathieu Bouchard wrote:
> On Mon, 2 Jul 2007, Thomas O Fredericks wrote:
>
> > Yes, everything does have to be in a category. This constraint makes
> > for an environment that is especially useful for newbies and resolves
> > a lot of conflicts.
> 
> verb/is article/this noun/sentence adjective/easier prep/to verb/read ?
> 

Yes, but how do you resolve:

verb/colour
noun/colour
adjective/colour

or...

video/colour
audio/colour

As humans we differentiate between these by their context, but PD is not
that clever...

Jamie


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-03 Thread Chris McCormick
On Tue, Jul 03, 2007 at 01:00:34PM -0400, Mathieu Bouchard wrote:
> On Mon, 2 Jul 2007, Thomas O Fredericks wrote:
> >>>Why not put stuff outside of categories? (Does everything have to be 
> >>>in a category?)
> >Yes, everything does have to be in a category. This constraint makes
> >for an environment that is especially useful for newbies and resolves
> >a lot of conflicts.
> 
> verb/is article/this noun/sentence adjective/easier prep/to verb/read ?

Written english is quite different in application and parsing to
objectboxes in the Puredata patching language. In my opinion the
directory prefix adds to the understanding of what an objectbox is
doing by adding context, whilst in your example above the context is
inherent in the rules of the language and hence clumsy, confusing,
and redundant. I think you are comparing apples and oranges, and the
comparison is not a good argument against directory prefixes in object
boxes.

> What about http://artengine.ca/desiredata/gallery/completions2.gif ?

That is really cool.

Best,

Chris.

---
http://mccormick.cx

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-03 Thread Mathieu Bouchard

On Mon, 2 Jul 2007, Thomas O Fredericks wrote:

We used "!" (an upside down "i" that stands for interface) before 
instead of "_"


"!" is used by Max to mean "swapped". IMHO that's a better idea than 
jMax's [inv+] and [inv*] meaning swapped [-] and [/] respectively, but 
GridFlow still uses jMax's syntax, for the obvious reasons.


but we had to continuously escape it in command lines and 
scripts. So we settled on "_" instead. Of course, we would have liked to 
use "#", but Gridflow's use of it is much better :)


I have been using the pmdtl folder namespaces for a year now and have
NEVER had a similar problem. I tried replicating the example in a
practical context, but I cannot. This issue is a theoretical problem
that never happens in a practical context.


No, it's not theoretical, it's just false. There are problems that are 
similar to that, but knowing pd's implementation, I should've known 
better. See my mail to Patrice Colet today about this.


Why not put stuff outside of categories? (Does everything have to be 
in a category?)

Yes, everything does have to be in a category. This constraint makes
for an environment that is especially useful for newbies and resolves
a lot of conflicts.


verb/is article/this noun/sentence adjective/easier prep/to verb/read ?


I teach a lot of Max/Msp and the "new object" box is a godsend for
them ( 
http://www.makingthings.com/teleo/products/documentation/teleo_user_guide/images/max_tut_1_new.png

). Browsing and selecting the right abstraction for the job is a lot
simpler with this system.


What about http://artengine.ca/desiredata/gallery/completions2.gif ?

 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-03 Thread Mathieu Bouchard

On Tue, 3 Jul 2007, Alexandre Quessy wrote:

2007/7/3, Mathieu Bouchard <[EMAIL PROTECTED]>:

Here we are talking about class names at pd level. By putting the python
class name as a 2nd or 4th element in the objectbox, Pyext bypasses Pd's
own class naming mechanisms and also rejects the principle that no matter
which language you use to extend pd, you can do essentially the same.
Several other things break that principle: e.g. abstractions can't use
variable number of arguments in their $-args. Pyext's class naming is
another of them.

Abstractions can't use variable number of arguments in their $-args
... unless one uses dollarg from iemlib ! (T. Musil)


or [args] from gridflow, which handles non-zero defaults.

or Johannes Zmölnig's modification of pd to accept $* as meaning "all 
arguments" 
http://sourceforge.net/tracker/index.php?func=detail&aid=1543850&group_id=55736&atid=478072


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-03 Thread IOhannes m zmoelnig
Alexandre Quessy wrote:
> Hi,
> 
> Nice conversation. :)
> 
> 2007/7/3, Mathieu Bouchard <[EMAIL PROTECTED]>:
>> Here we are talking about class names at pd level. By putting the python
>> class name as a 2nd or 4th element in the objectbox, Pyext bypasses Pd's
>> own class naming mechanisms and also rejects the principle that no matter
>> which language you use to extend pd, you can do essentially the same.
>> Several other things break that principle: e.g. abstractions can't use
>> variable number of arguments in their $-args. Pyext's class naming is
>> another of them.
>>
> 
> Abstractions can't use variable number of arguments in their $-args
> ... unless one uses dollarg from iemlib ! (T. Musil)
> 

or unless you apply my $arg patch to pd (can be found in the
patch-tracker); i thought pd-extended uses that one.

mfg.asdr
IOhannes

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-03 Thread Alexandre Quessy
Hi,

Nice conversation. :)

2007/7/3, Mathieu Bouchard <[EMAIL PROTECTED]>:
> Here we are talking about class names at pd level. By putting the python
> class name as a 2nd or 4th element in the objectbox, Pyext bypasses Pd's
> own class naming mechanisms and also rejects the principle that no matter
> which language you use to extend pd, you can do essentially the same.
> Several other things break that principle: e.g. abstractions can't use
> variable number of arguments in their $-args. Pyext's class naming is
> another of them.
>

Abstractions can't use variable number of arguments in their $-args
... unless one uses dollarg from iemlib ! (T. Musil)

-- 
Alexandre Quessy
http://alexandre.quessy.net
http://www.puredata.info/Members/aalex

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-03 Thread Mathieu Bouchard

On Mon, 2 Jul 2007, Patco wrote:


Mathieu Bouchard a écrit :
 The same section says that prefixes are to be turned into geiger 
namespaces, that is, folders. Let's say that the folder is named "patate". 
But then I cannot use the original [poil] anymore in that folder because pd 
picks up the locally defined [patate/poil] as being poil itself, hiding the 
prefixless [poil] that I need. Therefore a prefix is required. Then I might 
call it patate/patate_poil.pd, but that's redundant, so I remove the folder 
so that it's just called [patate_poil], and then we're back to prefixes. 
However if pd wasn't doing that and if there wasn't [import] then the slash 
wouldn't be anything more than a tilted underscore. So what are those 
guidelines good for?



Thanks to make 'what namespace is' clear.


Actually it doesn't work like that. I made a mistake in the example. There 
are several namespace problems that are similar to the above, but none 
that is exactly that. It's the class that is loaded first that has 
precedence. When you have a locally defined object class, you can't use it 
with its local name without a prefix, because else the builtin class gets 
priority, or else any class that registered itself as having just that 
name will. This goes pretty much against the concept of namespaces of 
every language except Perl (in which class names have to be 
fully-qualified; other global things don't have to)



I vote for no namespace, no prefix,


You can't argue the case for no prefix at all ever. There are lots of 
reasons to use prefixes at least sometimes. What's debatable is when they 
should be used and why. (in this context, whenever namespaces act just 
like prefixes, they're effectively the same, so they are debatable in the 
same way as prefixes are)


for example if I put my python scripts into extra/python, I'd call the 
script with [pyext] with a namespace like that [py python/myscript 
myclass] but obviously it won't work,


Here we are talking about class names at pd level. By putting the python 
class name as a 2nd or 4th element in the objectbox, Pyext bypasses Pd's 
own class naming mechanisms and also rejects the principle that no matter 
which language you use to extend pd, you can do essentially the same. 
Several other things break that principle: e.g. abstractions can't use 
variable number of arguments in their $-args. Pyext's class naming is 
another of them.


I believe that most other language interfaces allow direct registration of 
pd classes, but I haven't tried them and don't really recall. At least I 
can tell you that anything that is not an abstraction in GridFlow 
currently goes through Rubyext. (pd class registration ability in Ruby 
will not change, but which classes go through Rubyext will.)


I have never considered otherwise than direct class registration for any 
external language, and I'm kind of puzzled about why would anyone ever do 
otherwise. Anyway: I could show you a bit of C that creates an alias that 
redirect a certain name to [py python/myscript myclass]. Else there is 
supposedly the new sys_register_loader (pd 0.40) which can help with that; 
it would not have been required but Thomas decided to share Hans' 
exaggeration of the power of sys_register_loader.


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-03 Thread Frank Barknecht
Hallo,
Frank Barknecht hat gesagt: // Frank Barknecht wrote:

> Names must not conflict, but building your non-conflicting names can
> be done in several ways. Many involve using some kind of repeating
> prefix.  Whether that prefix is separated with a slash or a dash
> doesn't matter that much.

Little addition: me chosing "-" and pdmtl choosing "/" as seperator
has the advantage that people can use both (list-)collections at the
same time, which is useful as they follow a slightly different
philosophy: [list]-abs is meant to implement common list-operations as
dependency-free as possible, so using externals is forbidden, while
pdmtl uses loads of externals.

Btw.: There is a yet unpublished version of many [list]-abs which *do*
use externals to speed things up. By putting these in front of or
using them instead of the external-free [list]-abs in your path, one
can profit from the speed-up and still use the external-free interface
to write patches, that also run on everyone's plain Pd. In a similar
way, features only available in newer Pds - like [list length] - can
be used without requiring that people upgrade to the latest Pd.

Ciao
-- 
 Frank Barknecht _ __footils.org_ __goto10.org__

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments (previously without a subject)

2007-07-03 Thread Hans-Christoph Steiner

I am glad to see the PdMtl stuff progressing.  There is already lots  
of objects for Pd, now the work of organizing all this stuff into  
coherent libraries is definitely the next step.

Some comments inline below:

On Jul 1, 2007, at 1:14 AM, Thomas O Fredericks wrote:

> This a follow up to a few comments and questions sent by Mathieu  
> Bouchard.
>
> In this text, Mathieu's comments and questions are preceded by a "M:".
> My answers are preceded by a "T:".
> Every subject is separated by a: 
>
> Please feel free to contribute to this discussion.
>
>
>
> M: 'several signal classes names end in "_~" instead of "~" for no
> apparent reason. It seems that some nonsignal classes also end in "_"
> for no apparent reason.'
>
> T: In the http://wiki.dataflow.ws/PdMtlAbstractions/Usage page of the
> wiki, the "Special characters in abstraction names" section specifies
> that:
> a) abstractions that finish with "_~" are graphical signal objects
> (the only exception to this rule, and this might change, are the
> abstractions in the gui folder. These abstractions are used to create
> other "_" abstractions or to help debugging).
>
> b) abstractions that finish with "_" are graphical abstractions.
> Sometimes, we create an abstraction without a gui, then we create a
> gui that wraps the same abstraction. The name of both abstractions
> will be the same, except that the second version will have a "_"
> appended.

This sounds to me that you are exposing the implementation in the  
interface.  The interface should be defined separately from the  
implementation, and definitely does not need to reflect it.  When  
using an object, it is a distraction to think about the  
implementation of that object.  Instead the programmer should be  
thinking about the implementation of the program that is being  
built.  Therefore, the programmer would only need to know about the  
interface.

>   
>
> M: 'some class names are "like-this", some are "like_this", and some
> are "likethis", for no apparent reason. While this happens in the much
> less controlled world of pd's externals repository, I would expect
> more from the pdmtl abstractions'
>
> T: Although I prefer abstractions without a "-" or a "_" in their
> names, others do not. But, since our wiki states that "class names
> with multiple words in the name should use underscores to separate
> words (i.e [iem_anything_kernel], [curve_log], [define_loudspeakers],
> [my_canvas], etc.)", and this follows the
> http://puredata.info/docs/developer/CodeGuidelines, I will start the
> conversion of all names so it fits this standard. All abnormal
> abstractions will be renamed (thanks a lot for the work Mat :) ).

Sounds like a good idea.


>   
>
> M: "I think it's pretty standard that every *-help.pd file has to
> contain an object of the class that it documents. Breaking this rule
> by cutting the documentation into that and *- example.pd files seems
> pointless. It seems even more pointless when the content of both files
> together is small enough that it would fit very well in one single
> patch on a small screen. If you're lacking space you can use
> subpatches, but really, so far, *- example.pd files seems like a
> superfluous concept."
>
> T: This is probably an oversight, please give examples of the
> erroneous help files.

It is definitely useful to have separate *-help.pd and *-example.pd.   
A help patch should be a complete reference for the interface of the  
object with simple illustrations of how to use it.  An example patch  
should be first and foremost a complete working program with comments  
documenting various important aspects of how the related object is  
being used.


>
>   
>
> M:- 'it's not obvious that "generate" is only for audio, and there
> might be lot of other classes outside of "generate" who might be
> understood like their purpose is to generate something. Especially
> confusing is the  "synth" folder: why is anything of "generate" not in
> "synth" instead or vice-versa? '
>
> T: I agree. The tern "generate"  does not limit itself only to audio,
> but encompasses a lot of control abstractions. The basic problem was
> that the list of abstractions in this category was getting way out of
> hand. We had to find a solution. We asked ourselfs if we only keept
> control or signal abstractions in the generate category? We decide to
> spread the control abstractions around the other categories. By the
> way, we definitely  do not want to create a category that ends with a
> "~" because  who wants to instantiate an abstraction with the name
> generate~/bell~ ?
>
> The "synth" folder groups abstractions that are more like "complete"
> "midi" instruments (or at least try to be). Think of the "generate"
> category as the building blocks for the "synth" c

Re: [PD] pdmtl abstractions questions and comments

2007-07-02 Thread Frank Barknecht
Hallo,
Thomas O Fredericks hat gesagt: // Thomas O Fredericks wrote:

> >[...] Without their
> >prefix -- [list]-abs is using a dash instead of an underscore or a
> >slash, because underscores are harder to type on german keyboards and
> >because not following guidelines leads to more fun in life [...]
> 
> Wow, talk about cheap thrills :)
> Doesn't the German keyboard have a "/" key over the number 8 on the
> numpad (that is if you are not using a laptop)?

I never use the numpad, not even for numbers, it's too far away.

> > Unless you stick to unused names only,
> >you always need to keep the prefix in the object name.
> 
> The pdmtl abstractions REQUIRE that you keep the folder prefix. The
> prefix IS part of the abstraction's name. But this is not a problem
> because it takes as long to type list/whatever than list-whatever.
> 
> >[...] objects like [list-abs] or [list-moses] are impossible to use
> >in Pd anyways, as [abs] and [moses] are builtins.
> 
> I created a version of list/abs in our svn repository. It works just
> fine. I do not understand what is impossible?

I meant, it's impossible to use them *without* their prefix: Even with
something like [import list] you couldn't use [abs] when you want to
get [list/abs], because [abs] is builtin.

> >pdmtl may face a similar or worse problem when people start using
> >objects with names like [pdmtl/list/op]. Here not only help-files will be
> >broken, as the help file "list/op-help.pd" uses an object called
> >[list/op] which is unavailable unless "pdmtl" is in the path.
> >Actually all objects using [list/x]-objects are broken then!
> 
> Once both lines are added to pd's configuration everything works
> great. Even the help files. However, creating an abstraction with
> [pdmtl/list/op] is not recommended. 

Same for [list]-abs: I wouldn't recommend to use [list-abs/list-abs],
though it works.

> The same goes for creating a [cyclone/counter]. Instancing in this
> fashion in simply too long (while you simply had to add cyclone to
> your path) and breaks compatibility with other people's
> distributions (for example people that use the cylone.pd_linux
> instead of the expanded folder or whatever it is called).

Note that you're saying here that [counter] should be called without
"namespace", while [list/abs] should be called with "namespace". Maybe
talking about "namespaces" is just confusing and talking about plain
"names" for objects or classes would be clearer. Names must not
conflict, but building your non-conflicting names can be done in
several ways. Many involve using some kind of repeating prefix.
Whether that prefix is separated with a slash or a dash doesn't matter
that much.

Ciao
-- 
 Frank Barknecht _ __footils.org_ __goto10.org__

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-02 Thread Thomas O Fredericks
> [...] Without their
> prefix -- [list]-abs is using a dash instead of an underscore or a
> slash, because underscores are harder to type on german keyboards and
> because not following guidelines leads to more fun in life [...]

Wow, talk about cheap thrills :)
Doesn't the German keyboard have a "/" key over the number 8 on the
numpad (that is if you are not using a laptop)?

>  Unless you stick to unused names only,
> you always need to keep the prefix in the object name.

The pdmtl abstractions REQUIRE that you keep the folder prefix. The
prefix IS part of the abstraction's name. But this is not a problem
because it takes as long to type list/whatever than list-whatever.

> [...] objects
> like [list-abs] or [list-moses] are impossible to use in Pd anyways,
> as [abs] and [moses] are builtins.

I created a version of list/abs in our svn repository. It works just
fine. I do not understand what is impossible?

> [..] So
> people start to use objects called [list-abs/list-abs] just because
> for packaging reasons, list-abs.pd in pd-extended lives in a directory
> called "list-abs". Now that's what I call redundancy: Instead of one,
> we get two prefixes. At least my help-files still work.

This is definitely ridiculous. Tthe pdmtl abstractions installation
instructions require one line of text to be added to the path and
another as a startup flag. We are currently working on adding these by
default to pd-extended.

> pdmtl may face a similar or worse problem when people start using
> objects with names like [pdmtl/list/op]. Here not only help-files will be
> broken, as the help file "list/op-help.pd" uses an object called
> [list/op] which is unavailable unless "pdmtl" is in the path.
> Actually all objects using [list/x]-objects are broken then!

Once both lines are added to pd's configuration everything works
great. Even the help files. However, creating an abstraction with
[pdmtl/list/op] is not recommended. The same goes for creating a
[cyclone/counter]. Instancing in this fashion in simply too long
(while you simply had to add cyclone to your path) and breaks
compatibility with other people's distributions (for example people
that use the cylone.pd_linux instead of the expanded folder or
whatever it is called).

Tom

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-02 Thread Thomas O Fredericks
MB > Ok, but I don't think that the "_" character is so distinctive. I mean,
> it's enough to distinguish unambiguously, but it's still looks pretty
> close to a space, and it doesn't seem to have the kind of appeal to it[...]

We used "!" (an upside down "i" that stands for interface) before
instead of "_" but we had to continuously escape it in command lines
and scripts. So we settled on "_" instead. Of course, we would have
liked to use "#", but Gridflow's use of it is much better :)

MB > Ok, I don't particularly remember reading them back when they were posted.
> Now that I read them I'd like to say that the part about namespaces is
> quite bad: if I make a more descriptive name for a class that is really a
> lot like [poil], it would be something that ends in "_poil". However this
> means that a prefix is added to the name. The same section says that
> prefixes are to be turned into geiger namespaces, that is, folders. Let's
> say that the folder is named "patate". But then I cannot use the original
> [poil] anymore in that folder because pd picks up the locally defined
> [patate/poil] as being poil itself, hiding the prefixless [poil] that I
> need. Therefore a prefix is required. Then I might call it
> patate/patate_poil.pd, but that's redundant, so I remove the folder so
> that it's just called [patate_poil], and then we're back to prefixes.
> However if pd wasn't doing that and if there wasn't [import] then the
> slash wouldn't be anything more than a tilted underscore. So what are
> those guidelines good for?

I have been using the pmdtl folder namespaces for a year now and have
NEVER had a similar problem. I tried replicating the example in a
practical context, but I cannot. This issue is a theoretical problem
that never happens in a practical context.  Also, this issue can only
happen if you have abstractions that are not inside category folders
(and this goes against the pdmtl folder architecture: all pdmtl
abstractions require to be categorized). If you absolutely want to do
this for absolutely no functionnal reason, simply prepend a "../" to
the [poil] inside the [patate/poil].

You can even create an abstraction called [patate/counter] and
instantiate a [counter] object in there and it will work correctly.

> > All abnormal abstractions will be renamed (thanks a lot for the work Mat
> > :)

If you take a look at the pdmtl abstractions contents page (
http://wiki.dataflow.ws/PdMtlAbstractions/Contents ), you will see
that all the abstraction names that contain two words are now
separated by a "_".

MB > > The "synth" folder groups abstractions that are more like "complete"
> > "midi" instruments (or at least try to be). Think of the "generate"
> > category as the building blocks for the "synth" category. If this still
> > seems to confusing, please reply with an alternative.

All right then, I will probably move most of the stuff from [generate]
to the [synth] category. The distinction is not clear enough.

MB > Why not put stuff outside of categories? (Does everything have to be in a
> category?)

Yes, everything does have to be in a category. This constraint makes
for an environment that is especially useful for newbies and resolves
a lot of conflicts.

MB > I think that category names have to be figured out pretty quick if people
> are expected to start using the names in backwards-compatible ways. Else
> you get into what is called "bit rot" - a program is not just the contents
> of source files, it's also a set of relationships with its environment,
> and especially, its direct dependencies.

I agree. I think we are almost there. We simply have to solve a few glitches.

MB > I don't know. We could have a head-scratching party in my apartment, if
> you'd like some brainstorm about it. I didn't speak much when you made
> that presentation of pdmtl abstractions because that was my first exposure
> to it so I had to think about it a bit.

I would really appreciate that :)

> > T: You are obviously not using either of the official pdmtl
> > abstractions help browsers ( hbrowser.pd or hpopup.pd) as they
> > automatically exclude all files that they consider are not help files.
>
MB > I'm using /usr/bin/ls or the svn web interface. What's wrong with either?
> I'm obviously not asking this as a simple user.

For newbies, the folder categorizing system really comes to life when
using pdmtl's built in help browsers. See
http://wiki.dataflow.ws/PdMtlAbstractions/Usage/Browsing
I teach a lot of Max/Msp and the "new object" box is a godsend for
them ( 
http://www.makingthings.com/teleo/products/documentation/teleo_user_guide/images/max_tut_1_new.png
). Browsing and selecting the right abstraction for the job is a lot
simpler with this system.

By the way pdmtl's folder categorizing system is also compatible with
Pd 0.4's help browsing system.


MB > Uh, my question actually is "why is _index.pd called an index?".

You are right. I will find a more proper name.

MB > I'd rather raise the issue befor

Re: [PD] pdmtl abstractions questions and comments

2007-07-02 Thread victor

I vote for "_". There is two perspectives: the user, and the developer of
pd. Often the user don't need to know about the exactly  folder's tree. A
good documentation eschew the mess

2007/7/2, victor <[EMAIL PROTECTED]>:


I vote for "_". There is two perspectives: the user, and the developer of
pd. Often the user don't need to know about the exactly  folder's tree. A
good documentation eschew the mess

2007/7/2, Thomas O Fredericks <[EMAIL PROTECTED]>:
>
> > I vote for no namespace, no prefix, it's difficult enough to organize
> > files for pd, and many prefixes won't work with externals that
> requires
> > a script, for example
> > if I put my python scripts into extra/python, I'd call the script with
>
> > [pyext] with a namespace like that [py python/myscript myclass] but
> > obviously it won't work, in fact I'd have to start pd with -path
> python
> > or put the script into the patch's folder and put no namespace for the
>
> > script file reconized, same thing with tcl scripts, etc...
> >  I'd add that a good taxonomy should take into account any pd and
> > external related files.
>
> Using no namespace, no preffix is what started this whole mess.
>
> Tom
>
> ___
> PD-list@iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-02 Thread Thomas O Fredericks
> I vote for no namespace, no prefix, it's difficult enough to organize
> files for pd, and many prefixes won't work with externals that requires
> a script, for example
> if I put my python scripts into extra/python, I'd call the script with
> [pyext] with a namespace like that [py python/myscript myclass] but
> obviously it won't work, in fact I'd have to start pd with -path python
> or put the script into the patch's folder and put no namespace for the
> script file reconized, same thing with tcl scripts, etc...
>  I'd add that a good taxonomy should take into account any pd and
> external related files.

Using no namespace, no preffix is what started this whole mess.

Tom

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-02 Thread Thomas Grill

> if I put my python scripts into extra/python, I'd call the script with
> [pyext] with a namespace like that [py python/myscript myclass] but
> obviously it won't work,

That's on my todo list for the py/pyext external, but it's not at top  
level.
greetings, Thomas




___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-02 Thread Patco
Mathieu Bouchard a écrit :
>  The same section says that prefixes are to be turned into geiger 
> namespaces, that is, folders. Let's say that the folder is named 
> "patate". But then I cannot use the original [poil] anymore in that 
> folder because pd picks up the locally defined [patate/poil] as being 
> poil itself, hiding the prefixless [poil] that I need. Therefore a 
> prefix is required. Then I might call it patate/patate_poil.pd, but 
> that's redundant, so I remove the folder so that it's just called 
> [patate_poil], and then we're back to prefixes. However if pd wasn't 
> doing that and if there wasn't [import] then the slash wouldn't be 
> anything more than a tilted underscore. So what are those guidelines 
> good for?
>
Thanks to make 'what namespace is' clear.
> If you mean that there wouldn't be namespaces and instead there would 
> be a non-arborescent taxonomy whose purpose would still be to organise 
> similar objects together documentation-wise, then I would say that I 
> agree.
I vote for no namespace, no prefix, it's difficult enough to organize 
files for pd, and many prefixes won't work with externals that requires 
a script, for example
if I put my python scripts into extra/python, I'd call the script with 
[pyext] with a namespace like that [py python/myscript myclass] but 
obviously it won't work, in fact I'd have to start pd with -path python 
or put the script into the patch's folder and put no namespace for the 
script file reconized, same thing with tcl scripts, etc...
 I'd add that a good taxonomy should take into account any pd and 
external related files.

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pdmtl abstractions questions and comments

2007-07-02 Thread Frank Barknecht
Hallo,
Mathieu Bouchard hat gesagt: // Mathieu Bouchard wrote:

> >this follows the http://puredata.info/docs/developer/CodeGuidelines
> 
> Ok, I don't particularly remember reading them back when they were posted. 
> Now that I read them I'd like to say that the part about namespaces is 
> quite bad: if I make a more descriptive name for a class that is really a 
> lot like [poil], it would be something that ends in "_poil". However this 
> means that a prefix is added to the name. The same section says that 
> prefixes are to be turned into geiger namespaces, that is, folders. Let's 
> say that the folder is named "patate". But then I cannot use the original 
> [poil] anymore in that folder because pd picks up the locally defined 
> [patate/poil] as being poil itself, hiding the prefixless [poil] that I 
> need. Therefore a prefix is required. Then I might call it 
> patate/patate_poil.pd, but that's redundant, so I remove the folder so 
> that it's just called [patate_poil], and then we're back to prefixes. 
> However if pd wasn't doing that and if there wasn't [import] then the 
> slash wouldn't be anything more than a tilted underscore. So what are 
> those guidelines good for?

Actually that is why I didn't yet use directory prefixes for my
abstraction libraries, especially the [list]-abs.  Without their
prefix -- [list]-abs is using a dash instead of an underscore or a
slash, because underscores are harder to type on german keyboards and
because not following guidelines leads to more fun in life --, objects
like [list-abs] or [list-moses] are impossible to use in Pd anyways,
as [abs] and [moses] are builtins. 

So a prefix directly in the object name is necessary. "list-" to me
looked like the most natural choice - and it doesn't need "Shift" on
german keyboards to type, so I was set.  

The choice of pdmtl was "list/". Another good and obvious choice, but
to me it doesn't really have any advantages over "-" (and needs
"Shift" on german keyboards...) Unless you stick to unused names only,
you always need to keep the prefix in the object name. 

If someone else does an abstraction collection for lists, I'd say,
"list_" or "list." are two other good choices.

Where directory prefixes shine however is for making packages of
externals and abstractions. Pd-extended is the prime example: It can
ship all five [counter] objects, which would be impossible without
subdirectories for each collection. Whether shipping five counters is
desirable is debatable, but at least people have a choice. 

However shipping objects (or classes, as you suggest to call them) in
subdirectories creates a possibly uncomfortable side effect: It
introduces an additional, possible prefix: the directory name. So
people start to use objects called [list-abs/list-abs] just because
for packaging reasons, list-abs.pd in pd-extended lives in a directory
called "list-abs". Now that's what I call redundancy: Instead of one,
we get two prefixes. At least my help-files still work.

pdmtl may face a similar or worse problem when people start using
objects with names like [pdmtl/list/op]. Here not only help-files will be
broken, as the help file "list/op-help.pd" uses an object called
[list/op] which is unavailable unless "pdmtl" is in the path.
Actually all objects using [list/x]-objects are broken then! 

To somehow be prepared for that pdmtl would need to use [import] or
[declare -path ..] in every abstraction, and take note, that [declare
-path ..] will also activate all other subdirectories of ptmtl for
that patch - mostly this won't be a problem. 

All this to me seems to kind of pervert what Guenther Geiger actually
intended when suggesting directory prefixes and initiating the
CVS-repository. Instead of shipping five [counter]s, one [counter]
would be shipped as the default [counter] directly in extra, other
counters would be hidden in subdirectories for special use, but be
deprecated. The reality now is, that [flatspace] announces that it is
deprecated, and the "Path" window is filled with more entries than it can
handle.

> I think that category names have to be figured out pretty quick if people 
> are expected to start using the names in backwards-compatible ways. Else 
> you get into what is called "bit rot" - a program is not just the contents 
> of source files, it's also a set of relationships with its environment, 
> and especially, its direct dependencies.

[list-abs/list-abs] is bit-rot.

> >Tags instead of categories would be much better.
> 
> If you mean that there wouldn't be namespaces and instead there would be a 
> non-arborescent taxonomy whose purpose would still be to organise similar 
> objects together documentation-wise, then I would say that I agree.

I had to look up arborescent, after that I agreed, too.

Ciao
-- 
 Frank Barknecht _ __footils.org_ __goto10.org__

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.p