Hi Thorsten,

> Funny how views differ -  in the Clojure world "lazy evaluation" seems
> to be a big feature ...

I don't say that "lazy evaluation" is a bad feature. It is in fact very
powerful. But it assumes a completely different internal evaluation
machinery. Basically, each function must run it its own thread and
"pipe" its data to the recipient.

But I doubt it is worth the effort. It introduces quite some overhead.

At least it is against the PicoLisp philosophy to keep the programmer in
control: You can always achieve the same effect as with lazy evaluation
if you say explicitly what you want.

In Jon's example, this would be using 'make' in a loop instead of the
brute force 'list'. In the typical 'mapcar' example

   : (mapcar - (mapcar inc (1 2 3)))
   -> (-2 -3 -4)

lazy evaluation would avoid creating a temporary list, but the same
effect can be achieved with

   : (mapcar '((N) (- (inc N))) (1 2 3))
   -> (-2 -3 -4)

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

Reply via email to