One more example patch, I guess I can't stop: [trigger list] always outputs a list for any list it accepts:
.hc
On Jul 28, 2005, at 4:05 PM, Guenter Geiger wrote:
Hi,
I agree with hc that a "route list" should not strip of the list, if we want to be consistent. But if people use it that much, then there is nothing to do about it. It might be impossible to remove all the ambiguities in the message and type system anyhow.
Guenter
On Thu, 28 Jul 2005, Hans-Christoph Steiner wrote:
On Jul 28, 2005, at 5:54 AM, Frank Barknecht wrote:
Hallo, Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
This investigation lead me to another odd behavior: [route symbol] outputs a symbol on its left outlet, while [route list] outputs a non-list. While it is definitely useful to have an object with can strip off the "list" selector, I don't think it should be called [route list]. [route list] should output a list for every list it receives on its inlet.
But
[something which is a kind of list( | [route something]
will strip of the "something" part, so stripping off "list" with "route list" is consistent with that behaviour.
Apart from that, using [route list] to trim lists of "list" is probably very common (Iohannes does it, I did it) so changing it would mean breaking patches.
These two points are definitely true, I am not saying that it would be an easy change. But I think [route list] would have to always output a list on its left outlet in order for Miller's suggestion to work, which was to try to treat everything as a list when doing message handling. I could be wrong, but I think we should try it.
Also, [route symbol] does not trim the selector "symbol", so there is a precedence here. We can look at the reserved words in Pd: "bang", "float", "symbol", and "list". [route bang], [route float], [route symbol] all output the same data type on their left inlet. [route list] does not always output a list, even though it is interpreting incoming lists, not merely routing by keyword. More example patches!
________________________________________________________________________ ____
Man has survived hitherto because he was too ignorant to know how to realize his wishes. Now that he can realize them, he must either change them, or perish. -William Carlos Williams