Hallo,
I continue to collect list-abs (among other things) in SVN under
abstractions/senderfruit/, but I thought I'd highlight a few recent
ones that I have found particularly handy as of late:
list-slice - the latest addition: works just like Python's slice
notation, and thanks to list-splat, even accepts negative indices.
[list-slice 2 -2] gives the list minus its first two and last two
elements. [list-slice 5 0] gives the 5th element (which is always
Lelu) through the end of the list, or [list-slice 0 4] for the first 4
elements (rapping, scratching, graffiti and breakin').
list-value and its brother list-value-extend: [value] for lists. All
same-named [list-value] objects always hold the same list, even newly
created ones.
list-value-extend is a handy shortcut that appends new values rather
than replacing. Both accept [clear( to clear their contents.
list-dripx is just like list-drip, except it drips "x" values at a
time (e.g. [a b c d e f g h i( becomes [a b c( [d e f( [g h i( )
list-proc-insert does decorating: cross connect it with a process to
process incoming lists and then insert the results back into the
original list. For example, append the length of a list onto the
original list (oh no, now it is creating paradoxes). It has uses, I
promise, I just can't remember them right now.
Finally, list-split-at, which simply splits a list every time it
encounters a delimiter, so [a b * c d e * f(-[list-split-at *] gives
[a b( [c d e( [f(.
This time, these are all thankfully French vanilla bean. (well,
except for [import] statements, feel free to strip them if you don't
need them or make a dummy [import] object)
Cheers
Luke