Hi Alex : (filter prog2 (1 a 2 b 3 c) '(T NIL .)) -> (1 2 3) : (filter prog2 (1 a 2 b 3 c) '(NIL T .)) -> (a b c)

Yes the above is exactly what I'm after. I copied this drop example straight from ninety nine.... ? P16 (**) Drop every N'th element from a list. : (drop '(a b c d e f g h i k) 3) !? (drop '(a b c d e f g h i k) 3) drop -- Undefined I'm not sure why I'm getting "undefined". I'm using the pil in my picolisp directory.... which looks like this.... exec ${0%/*}/bin/picolisp ${0%/*}/lib.l @ext.l "$@" i.e. not the one in /bin which contains /usr,,,, which I think ISN'T local and I think I compiled a local version. Irrespective....thank you very much for your solution. Best Regards Dean On 6 February 2017 at 15:24, Alexander Burger <a...@software-lab.de> wrote: > On Mon, Feb 06, 2017 at 12:25:14PM +0100, Alexander Burger wrote: > > > I'd like to split a list '(txt1 2 txt2 6.... > > > into 2 lists > > > '(txt1 txt2... > > > and > > > '(2 6 > > > > You could for example filter them: > > > > (let > > (Lst '(txt1 2 txt2 6) > > A (filter sym? Lst) > > B (filter num? Lst) ) > > ... use A and B ...) > > It is not clear what you need. > > > If, for example, you want every *second* element, there is a nice trick: > > : (filter prog2 (1 a 2 b 3 c) '(T NIL .)) > -> (1 2 3) > > : (filter prog2 (1 a 2 b 3 c) '(NIL T .)) > -> (a b c) > > Similarly, you can extract other sequences if you pass the right pattern of > NIL's and T's. > > ♪♫ Alex > -- > UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe >