Hallo, Chuckk Hubbard hat gesagt: // Chuckk Hubbard wrote:
I still don't grasp why and when Pd seems to arbitrarily insert the word "symbol" or "list" instead of treating the symbol as a meta-message...
There is nothing (too) arbitrary about it and it's especially not Pd itself that does this: Every object generates a certain kind of output. Some objects output symbol-messages (for example the [symbol] object always outputs symbol-messages), some objects send float-messages (like [float]) while some objects generate meta messages (message boxes can do so for example, or [list trim].) Also some objects accept only messages of a certain kind to certain inlets.
It's part of getting to know Pd and all its objects to learn which objects generate and accept which kinds of messages.
Additionally there are a two conventions on messages that start with a number: A number can never be at the start of a meta message (and thus form the "selector" of a message), only words can start a meta-message.
So while "float 2" is a full float-message, a single number like "2" also is a float-message. The selector "float" in this case is implied, so that you don't always have to type the "float" part.
The second convention is, that lists that start with a number, like "1 2 3" or "0 is zero" are considered list-messages even when the selector "list" at the start is missing. So these are equivalent:
"1 2 3" == "list 1 2 3" "0 is zero" == "list 0 is zero"
Much as with the "float 2" being equal to "2" here the "list"-selector is implied and can be omitted, if the first element is a number.
So basically that's all there is to know about messages in Pd:
bang-message: * "bang"
float-message:
symbol-message:
list-message:
list-messages with no or one element get "downcasted":
float message: "list 1" ==> "float 1" ==> "1"
symbol message: "list word" ==> "symbol word"
meta-message:
Print this. ;)
Frank Barknecht _ ______footils.org_ __goto10.org__