[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

symeval before or after args-eval?

It seems there are several possible decisions, each of which involves some
change to CLtL:
(1) Require symeval before args-eval in both interpretor and compiled-code.
This may require overhaul of several implementations.
(2) Leave it up to the implementor, but say "it is an error" to write any
code that side-effects the functional binding of the CAR of a form when
evaluating the args (map-eval the CDR) since its behaviour would be different
on various implementations and might be different between interpreted and
compiled within a single implementation.
<<symeval should read fneval or whatever above>>
(3) Require lookup of type of function before evaluating args, but require
actual fetching of function definition after evaluating args, and way
"it is an error" to redefine a function to a macro or vice versa during
evaluating args.

I vote for (2) as being less drastic than either of the others.