[PD] dealing with arguments and inlets

IOhannes m zmoelnig zmoelnig at iem.at
Sat Feb 4 20:35:20 CET 2006


Hans-Christoph Steiner wrote:
> 
> On Feb 4, 2006, at 3:37 AM, Frank Barknecht wrote:
> 
>>
>> For consistency I would say: If the user wants "foo" but not "symbol
>> foo" s/he shouold take care of that manually with [list trim].
> 
> 
> I think we can keep both [any_argument] and [list_argument] so that you  
> can choose the behavior.  Also its very easily and logically  
> straightforward to do this if you want:
> 
> [any_argument]
> |
> [route float]
>             [symbol]

i think [any_argument] is bad by design.
as far as i understand list vs. selectors, "lists" (the atoms after the 
selector) are the data, whereas the "selector" is attached to a function 
(e.g. the selector will define how an object will process the data)

arguments to an object are always data for this object (even though they 
might influence the way the object handles other data), therefore they 
cannot be non list-lists. (arguments to an object can never be messages 
because of the timish nature of messages (appearing now....and now) - 
however messages can have data which can be used by an ojbect just like 
its arguments)

i think most bad things with nonlistlike messages arise from the use of 
the selector as _data_.

(and sometimes messages become nonlistlike messages (by the use of say 
[route]) just to simple)


>>> So that means that if you want to handle messages like [word( with
>>> [list_argument], there will have to be this after it:
>>>
>>> [route symbol]
>>> |
>>> [route word]
>>
>>
>> better would be [list trim].
> 
> 
> In my opinion, new is not always better.  The double [route] thing  
> works fine, and it is a clearly established method.  [list] is still  
> quite new, so for things like [*_arguments], I think its wise to stick  
> to tried-and-true methods whenever possible.

i don't understand this arguing.
using pd objects is not like watering flowers: objects are supposed to 
work within their little well defined world, and objects of the high 
complexity of [route] and [list] normally don't need generations of 
evolution to become what they are.
after all, since [route]s behaviour has changed a bit as to what type is 
output, i guess using [list] would even be more stable.

the only reason to not use [list] is compatibility with older pd 
versions (but i also advise to use pd-0.39)

> 
>>> Personally, I think its better having the argument not be a symbol
>>> since its very likely that [route] will be involved soon after.

how comes?
for me it is more likely to have a [symbol] (or nowadays: [list]) 
involved whenever a symbol by chance becomes a message without arguments.


mfg.adsr
IOhannes




More information about the Pd-list mailing list