David Kastrup <d...@gnu.org> writes: > To be fair: this is what we currently do, and we only actually call > those lambdas that end up actually being recognized by the grammar. > So as long as (primitive-eval `(lambda () ,(read))) is guaranteed to > not ever choke, the potential for error is limited.
Come to think of it: an actual optimizing compiler is quite more likely to get annoyed at (lambda () total-garbage-sexp) before one actually tries calling it. So even when letting Guilev1 and Guilev2 compete by letting both use the lambda-based implementation, we might run into more problems using Guilev2 because of having to wrap all _potential_ runtime candidates for lexical evaluation into closures. -- David Kastrup