On Sun, 9 Aug 2009, Jonathan Wilkes wrote:
--- On Sun, 8/9/09, Hans-Christoph Steiner <h...@at.or.at> wrote:
Check the Pd Definitions wiki on http://puredata.info/dev for some discussion
on this
stuff. And please add anything there that you think
should be there.
On the Pd Definitions wiki, they are referred to as elements, and I've
already changed the reference patches to reflect this.
I wouldn't quite advocate using the PdDefinitions as they are now. Much of
the way people talk about pd is ambiguous, and that includes Miller too.
The Pd Manual itself has a fair amount of vague talk, but then, the
PdDefinitions page handpicks quotes in it without regard to whether "the
definition of float" is about float-values, float-atoms,
floatatom-objects, the floatatom class, the strings recognised as floats,
or the strings that floats are outputted as; and likewise for several
other definitions lifted from the manual.
"atoms are either numbers or symbols" -> that's only when you look at what
you can write in a messagebox that can end up as-is in a message. This
ignore comma atoms, semicolon atoms, dollar atoms ($1), dollsym atoms
($1-blah), and pointer atoms (which can't be produced by the parser).
"There are two atom boxes, floatatom and symbolatom" -> this is irrelevant
to the definition of an atom, of a float, or of a symbol, in that you
could make patches without ever using any atomboxes and you could
still see all the characteristics of float values and symbol values
shine through.
"Anything that is not a valid number is considered a symbol." -> this is
only in the context of parsing, and only once the commas and semicolons
are dealt with.
"The selector is a symbol, which appears in the patch as a non-numeric
string with no white space, semicolons, or commas." -> the manual doesn't
take into account any weird thing you can do in Pd, even with pure pd, and
even without hand-editing any .pd files. E.g. this patch:
#N canvas 0 0 450 300 10;
#X obj 12 31 makefilename %d;
#X msg 12 13 123;
#X msg 12 67;
#X msg 12 49 set \$1 \, bang;
#X obj 12 85 f;
#X connect 0 0 3 0;
#X connect 1 0 0 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
ends up saying:
no method for '123'
but "no method for" errors always state the selector, and here, 123 is a
selector, which is a symbol, but is printed in a way that makes it look
like a float.
Because of the way they are laid out, I don't think there is any
ambiguity between first element and selector in the help patches (I
don't think "selector" is used in any of them, but I'll check and make
sure).
Selector ought to be used to talk about all those so-called
"meta-messages", not only because the Pd Manual does, but also because the
manuals of several other programming languages call that same thing by the
same name. It's not like selectors are a weird thing from outerspace that
got stuck into Pd for no reason (even though some facts about Pd's
selectors are a bit weird).
_ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec
_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list