[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Why no eval?
In article <YZ5cNR600VsnI0cEgG@andrew.cmu.edu> email@example.com (Robert Steven Glickstein) writes:
Why does R^3RS omit a specification for an EVAL procedure? It would
seem to have been omitted intentionally. What's the reasoning behind
this? Is there a trivial way to write an EVAL procedure?
EVAL requires access to environments, which Scheme doesn't currently
provide. Making environments first class (or even second-class but
accessible) is a very sticky problem, subject of much discussion
bordering on flamage. First class environments make analysis and
compilation harder, and they make it harder (impossible?) to understand
what a program could potentially do.
What uses for EVAL did you have in mind? There are probably other
ways to do what you want (unless you want to write a debugger). Also,
most implementations of Scheme do, in practice, support an EVAL of
sorts (for use in their read-eval-print loop, at least).
- Why no eval?
- From: Robert Steven Glickstein <firstname.lastname@example.org>