[PD] Finding "$0" and dealing with it in messages
Mathieu Bouchard
matju at artengine.ca
Fri Nov 27 19:44:32 CET 2009
On Wed, 25 Nov 2009, Frank Barknecht wrote:
> Single objects unfortunatly often behave inconsistently or not as one
> maybe would expect (e.g. [route list symbol] strips list- but not
> symbol-selectors).
[route] is quite disappointing. I already made [route2] which doesn't
modify any message, and I'm gonna make [route3] which outputs "list
$1...$n" on any non-last outlet in a consistent manner (and without the
weird quirks that happen when you try using [route] for that purpose).
To one who believes that abstractions and externals should have a Pd API
that is as similar to each other, [route3] should be obvious: it would
correspond more closely to class_addmethod.
> all_about_data_types.pd doesn't even use the word "selector" anywhere.
The pd 0.42 source code has the word "selector" once. This word was
introduced there in 0.39. On pd-list, there have been occasional uses of
the word 'selector' quite early. There's one early mention of 'selector'
(by none other than Miller) as early as 1998, but that seems to be an
outlier. After that you have to skip to 2001.
Some stats now. Number of occurrences of "selector" per year (including
"file selector", and someone who said "selector" to mean "receiver", etc):
num ratio
1998 1 3
1999 0 0
2000 2 3
2001 23 10
2002 28 5
2003 51 7
2004 70 8
2005 78 8
2006 455 39
2007 195 15
2008 74 8
2009 244 33
(where the ratio is 1000 times the number of occurrences divided by the
total number of emails)
AFAIK, "selector" is vocabulary that comes from Smalltalk and its
derivatives, or any "general OOP theory book" that considers Smalltalk to
be a reference. This word is quite absent from the C++ vocabulary, for
example. Even though I started using C++ in 1992, it took me until 1997 to
read the word "selector" somewhere, probably a text on Objective-C.
Starting in 2000 or so, though, I was seeing "selector" everywhere as was
the norm for the Ruby language. I used it routinely on pd-list.
> Instead it talks about "casting" but doesn't explain what that means (in
> the patch it means adding a "symbol"-selector to a meta-message). It has
> several vague sentences in it like: "Many objects cast the data they
> receive when they output it" or "Some objects do not cast the data".
> This doesn't make me any smarter.
trigger-help.pd is even funnier. It talks about "conversions" in which
nearly every conversion results in all values of one type (0, 1, 2, 3,
...) end up being "converted" to the same value of the other type (symbol
float), thus destroying the entire contents of the message (except the
existence thereof).
> All in all, I don't think, the patch tells you "All About Data Types".
> But maybe it just has a misleading name.
It's a marketing thing. It's like when you enter a "Steve's Music Store"
and they tell you "if we don't have it, you don't need it".
_ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
More information about the Pd-list
mailing list