[PD-dev] proposed new "list" object

Miller Puckette mpuckett at man104-1.ucsd.edu
Wed Jul 20 04:14:05 CEST 2005


Hi Chris,

Just paste into a text editor and set the font to anything fixed-width
(such as "courier" but not "helvetica" or "times"...

cheers
Miller

On Tue, Jul 19, 2005 at 08:31:37PM -0500, chris clepper wrote:
> It looks like the ASCII diagrams got butchered, but it sounds like a 
> nice object to have in Pd.  Can you make a txt or pdf document as an 
> attachment?
> 
> 
> On Jul 19, 2005, at 8:13 PM, Miller Puckette wrote:
> 
> >Hi devs...
> >
> >I'm thinking about finally writing a "list" object for Pd to do jobs
> >like "append", "any", etc.  I've held off so far because I've felt
> >unsure about the best design... and once I stick it in the "base" Pd
> >it will be hard to change.
> >
> >To avoid cluttering up the namespace I want to use just the one name,
> >"list", and use the first argument to differentiate between functions
> >(an idea inspired by Krzysztof's xeq object).  Here are the functions I
> >imagine:
> >
> >    list append - append a list to another
> >    list prepend - prepend a list to another
> >    list cat - build a list by accumulating elements
> >    list serialize - spit out elements of a list one by one
> >    list first - output first n elements
> >    list last - output last n elements
> >    list length - output number of items in list
> >    list reverse - permute elements of a list back to front
> >    list pack - synonym for 'pack'
> >    list unpack - synonym for 'unpack'
> >    list selector - change selector of a list
> >    list <no args> - "prepend" the selector list to non-list messages
> >
> >The "append" option would also play the role of "any" (just bang the 
> >left
> >inlet after putting any list in the right).
> >
> >All of these would expect the "list" selector at the head of messages, 
> >with
> >the exception of plain "list"; all of them would output "list" 
> >messages except
> >"list selector".  These would work as follows:
> >
> >--------------------------- list ----------------------------------
> >in (real message)   in (as printed)    out (real message)    out (as 
> >printed)
> >list                bang               (same)
> >list 1              1                  (same)
> >list foo            list foo           (same)
> >foo                 foo                list foo              list foo
> >
> >--------------------------- list  selector bar 
> >-------------------------
> >in (real message)   in (as printed)    out (real message)    out (as 
> >printed)
> >list                bang               bar
> >list 1              1                  bar 1
> >list foo            list foo           bar foo
> >foo                 foo                (error)
> >
> >There's one inconvenience with plain "list" since you can't 
> >differentiate
> >"list foo" from "foo" using its output; you'd have to use "route list 
> >symbol"
> >first and then do whatever you wanted to do differently ("list list 
> >foo" for
> >example).  It seemed better to leave that to the imagination of 
> >programmers,
> >since there seem to be disagreements about it...
> >
> >
> >cheers
> >Miller
> >
> >
> >
> >
> >_______________________________________________
> >PD-dev mailing list
> >PD-dev at iem.at
> >http://lists.puredata.info/listinfo/pd-dev
> >




More information about the Pd-dev mailing list