On Aug 10, 2009, at 12:05 AM, Mathieu Bouchard wrote:
On Sun, 9 Aug 2009, Jonathan Wilkes wrote:
--- On Sun, 8/9/09, Hans-Christoph Steiner hans@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.
The idea of that section of the PdDefintions wiki is to collect all
bits of text that contribute to the definition of what is a symbol/
float/atom/etc. That's why there are many bits. If there is anything
missing please add it.
"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).
Well, this defintion comes from the "object boxes" section, not
message boxes or messages. There is no discussion of messages in the
section where that is defined. But that's a minor detail.
http://crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s1.2
.hc
"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
Information wants to be free. -Stewart Brand