On Die, 2018-04-03 at 13:52 +0000, Jonathan Wilkes wrote:
Why is nobody complaining about not being able to use the third creation argument directly withing a message? What's the fuzz about
the
$0?
$0 isn't part of the argument vector.
It's certainly not part of the incoming message either.
It's a unique id automatically generated for a patch/abstraction which the user happens to access through a dollarsign variable.
Regardless of the the actual value, its meaning is 'this very instance'. So, I still rather see it as an argument of the patch than a part of the message. But we could go on like this forever, I suppose.
That locality hack doesn't require that the unique id be fetched by an unused dollarsign arg. For example, you could reserve the keyword "let" such that a message box with "let token2" would get converted behind the scenes to "1003-token2".
When users for a decade have said they wanted $0 in msg boxes, they mean that they want to use Pd's notion of send-symbol locality inside message boxes. They want that instead of manually querying the value of a reserved dollarsign variable and sending that value to the relevant message box in order to get "let" behavior.
I'm not opposing the feature. I criticize the proposed implementation.
Also, since "$0" is already being used for this purpose it doesn't make much sense to try to also get "$0" to refer to the selector. You'd end up with inconsistent meaning where it fetches the selector in msg boxes but not in object boxes.
That's an absurd argument. I already pointed out that dollar variables are a totally different thing in messages and objects.
Plus you can already get the selector of an incoming message with [list]
Similarly you can get the value of $0 into a message.
whereas you cannot get an abstraction's selector (which would be handy for error reporting).
What is the selector of an abstraction?
Roman