[PD] Segmented patch chords?
matju at sympatico.ca
Wed Apr 6 13:49:54 CEST 2005
On Thu, 10 Mar 2005, Ian Smith-Heisters wrote:
> For me, listp means "list predicate", just because we're dealing with
> lists, and lists make me think in Lisp.
It's just a name. The existing Pd lists are not linked, are immutable, and
are stack-allocated, so that's three reasons for which they don't have
much to do with LISP lists.
Instead they are more like a function-call that has a variable number of
arguments. That's the *-prefix in Python/Ruby, the "args" keyword in Tcl,
the $* in Bash/jMax, and the &rest keyword in LISP.
> What about listptr? Or list* is good. Or ladr (list address)?
Seem like good options... but * never means pointer in Pd. However the
name "pointer" is used, whereas "address" is never used. "pointer" is
always spelt out long, never abbreviated. There is precedent of using one
letter followed by "pointer", i mean "gpointer", which would suggest using
"lpointer". However it's not exactly the same kind of pointer (different
deallocation semantics), and also, the name "pointer" is also used as an
abbreviation of "gpointer", which may confuse matters...
> But doesn't ladr mean something else somewhere else?
I don't know. It sounds like a ladder... or like LISP's "cadr" function
which takes the second element of a list, but that's a bit obscure, and
tends to be replaced by the "second" function, AFAIK. (??)
> Or what about just lp?
Reminds of lineprinter, as in the default parallelport driver. It wouldn't
disturb me much if it were called "lp" though.
Actually, a heap-allocated mutable resizable indexed list is called
"Array" in Perl/Python/Ruby/Lisp, and "Vector" in C++/Java/Lisp. (In LISP,
the former is multidimensional, and every "Vector" is also a 1-dimensional
"Array" at the same time)
But "Array" already means something in PureData, in a way that is not
compatible with the concept I'm trying to introduce. So I feel a bit
Mathieu Bouchard -=- Montréal QC Canada -=- http://artengine.ca/matju
More information about the Pd-list