On Nov 1, 2006, at 1:28 PM, Miller Puckette wrote:
Well, 'declare' actually sets the patch up to do the path and lib fixes before it loads any objects (including the declare itself).
Ah, excellent! I see, [declare] always inserts itself at the top of the object list in the file.
I'm in agreement that the syntax is strange. I preferred to use a single name "declare" in order not to hog up any more new names than necessary. Perhaps a better syntax would be "declare lib [name]" instead of "declare -lib [name]" -- I could make declare take either one.
I think two names is not such a big deal if there are real namespaces. There are basically very few reserved words in Pd. I think most of the current core objects could be split out into a separate lib.
Here's the list of reserved words for objects that I can think of:
[pd] [inlet] [outlet] [inlet~] [outlet~] [declare] ([path] and [import] would be a possibility)
In theory, [pd] and [declare] could be the only reserved words, with everything else in libraries. Then [pd], [path], and [import] would not be a hard list to workaround. I started a list on the wiki page, please add more if you think of some:
http://puredata.org/dev/PdNamespaces
.hc
cheers M
On Wed, Nov 01, 2006 at 01:12:30PM -0500, Hans-Christoph Steiner wrote:
On Nov 1, 2006, at 6:29 AM, Frank Barknecht wrote:
Hallo, Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
Then to make iemlib/split.pd_darwin work as [split], one would use [declare iemlib] or [import iemlib].
Syntax suggestion: what about [declare -import iemlib]?
First off, how would this be different than [declare -lib]? [import] just loads libs.
Personally, I think the syntax of [declare] is inconsistent. Nowhere else in Pd are cmd line style arguments used in object boxes. They are used a couple of places in message boxes, but I think that suffers from the similar problems. It just doesn't feel right to me, doesn't feel Pd-ish.
For [declare], I think it could make a lot more sense as an interface to split it up into separate object boxes for paths and libs. I guess this is still experimental since as far as I can tell, [declare] suffers from the same limitation as [import]: it must be the first object loaded to work properly.
One thing that might make sense for the global settings -stdlib and - stdpath is to make them message based, like [;pd lib zexy( or [;pd path /path/to/my/extra( With those in place, the flags wouldn't be needed.
.hc
I have the audacity to believe that peoples everywhere can have three meals a day for their bodies, education and culture for their minds, and dignity, equality and freedom for their spirits. - Martin Luther King, Jr.
PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
------------------------------------------------------------------------
Mistrust authority - promote decentralization. - the hacker ethic