Hi Erik,

> >    1. If the result of the evaluation is a list, we get the same result as
> > now.
> >    2. But if the result is an atom, it is automatically 'cons'ed into a
> > cell.
> ...
> Works for me! I also often want to use a returned list without splicing,
> ...
> : (macro (2 4 (^(mapcar '((X) (+ X 2)) (4 6)))))
> -> (2 4 (6 8))

Indeed!

So I went ahead and implemented the extended 'fill' behavior.

   : (fill (1 ^(+ 1 1) 3))
   -> (1 2 3)

To make it more consistent, I also changed the '~' read macro in the same way.
Now this works:

   : (~(- 4 3) (2 ~(+ 1 2) 4) 5)
   -> (1 (2 3 4) 5)

Please all test, and let me know if the changes break anything.

☺/ A!ex

-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to