[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