(define y (lambda (f) ((lambda (x) (f x x)) (lambda (x) (f x x)))))
(y (lambda (x y) (x y)))
$ shadowenv exec env
restriction error: max call stack exceeded
Traceback:
In main, function __shadowenv__foo.lisp
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
In main, lambda
error while evaluating shadowlisp
Full lambda & application semantics makes implementation of the format non-trivial (goes from a data specification format to a full turing-complete language, which has to be tamed by having an arbitrary maximum stack).
I can implement the Y-Combinator:
Why does the language need
lambdaat all? Having a non-recursiveletalready allows for non-recursive variable declarations, and I don’t think much more is required to describe every sensible configuration one would want.The error messages are rather non-descriptive, as one can see (no lines).
I’d go even further and argue that everything in “Functions and Macros” besides
letshould be removed.Full lambda & application semantics makes implementation of the format non-trivial (goes from a data specification format to a full turing-complete language, which has to be tamed by having an arbitrary maximum stack).