Hi Guillermo, Samuel,

I agree with all you both discussed, except for the 'funcall' issue.

> By the way, the current build of srborlongan-picolisp now includes
> java/funcall.l, 'cause you're awesome and your code is beautiful.


It is an important feature of PicoLisp that a construct like 'funcall'
is NOT needed.

One of the fundamental principles of the PicoLisp evaluation mechanisms
is that the CAR of a list is evaluated, and then used as a function.

Writing

   (de funcall "Args"
      (eval "Args") )

   (funcall (expression) 3 4)

is the same as

   (eval '((expression) 3 4))

instead of

   ((expression) 3 4)

and thus a tautology, just with a considerable overhead.


Moreover, if you publish code using 'funcall', new users will assume
this is the right way to do, and use it also in cases like

   (de foo (Fun)
      (funcall Fun 3 4) )

and

   (dm method> (Arg)
      (funcall (: hint) Arg) )

instead of simply

   (de foo (Fun)
      (Fun 3 4) )

and

   (dm method> (Arg)
      ((: hint) Arg) )

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

Reply via email to