[f $0]-[message $1( is conceptually different from [message $0( for
the same reason that [f $2]-[message $1( is conceptually different
from [message $2( (and would be, even if $0 had any meaning in a
message box). When I teach I always start with dollar-sign expansion
in message-boxes, since it's simpler and easier to comprehend. Then
when this issue comes up when they move to dollar-sign expansion in
abstractions (and it always does come up), you can help them think it
through with what they already know about message boxes.
I only see two options: one is to use a different dereference symbol
for abstraction arguments in message boxes -- but why worry with that
since it's easy enough to get abstraction arguments into messages at
"run-time?" -- the other is to make an exception and have special
behavior for $0 in message boxes (that is, make it the same as in
object boxes) -- but then this probably breaks the consistency of the
language.
Matt
> Date: Mon, 09 Feb 2009 13:33:36 +0100
> From: Georg Werner <georg(a)fricklr.de>
> Subject: Re: [PD] here I go again..dynamic abstractions
> To: pd-list(a)iem.at
> Message-ID: <499022A0.7080702(a)fricklr.de>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> hi,
>
> Frank Barknecht:
> > How about making $0 in messages be a message counter?
> if somebody really needs that - i dont ;)
>
> ok, i give up. i think we are on a rather philosophical point now.
> but i had a lot of times when students where asking why they have to
> write [f $0]-[foobar $1( instead of [foobar $0(. so this came up from a
> users point of view.
> after getting all your input (thanks). i think Claude brought up the
> most logical solution, because this makes the different functions of $
> obvious and obsolete. And it would help users and devs. (i know it will
> be a long way - cause it will break some patches ... :( )
> > $ in message boxes is unfortunate. If there was a different symbol,
> > perhaps #, you could combine both phases in one object box to avoid
> > jumping through pointless hoops.
> > [$0-#1-$2-#3( would be nice, but as Pd is now, it's a nightmare.
>
> not a nightmare, but this is one point why Pd is harder to learn for
> beginners than it has to.
> georg