Alexander Burger <> writes:

Hi Alex,

>> 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)

thanks for the explanations!

It can be confusing to see many +/- esoteric CS concepts discussed all
the time in other programming language communities, and know that there
is PicoLisp that often does not have them, but usually compares quite
favorably with those other languages in all aspects.

Confusing or enlightning ... ;)



Reply via email to