On Fri, 18 Sep 2009 at 18:11:58 +0200, Tobias C. Rittweiler wrote:
I don't know why there's EVAL, and a separate INTERACTIVE-EVAL. Perhaps Peter Graves can comment about this.
INTERACTIVE-EVAL is a wrapper of EVAL used in implementing the REPL. It does two things: (1) sets *, **, etc., and (2) is a last-chance catcher of exceptions.
Clearly you don't want the overhead of (1) in EVAL.
And I don't think you want EVAL to be a last-chance catcher of exceptions, since you do want (EVAL '(+ 'FOO)) to signal an error.
Maybe Interpreter.run() should be the last-chance catcher.
-Peter