Circumvent EVAL in SCHEME

scheme

Solution

There are cases where `eval` is necessary, but they always involve advanced programs that do things like dynamically loading some code (eg, a servlet in a web server). As for a way to "circumvent" using it -- that depends on the actual problem you're trying to solve, there's no magic solution to avoiding `eval` except for ... `eval`.

(BTW, my guess is that PAIP was written a long time ago, before `eval` was added to the Scheme Report.)

Problem

Peter Norvig in PAIP says: in modern lisps...eval is used less often (in fact, in Scheme there is no eval at all). If you find yourself using eval, you are probably doing the wrong thing What are some of the ways to circumvent using `eval` in scheme? Arent there case where `eval` is absolutely necessary?

Original source