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

Re: Questions about specification and possible implementations

I'm not sure I agree with the comment that all implementations will
optimize keyword functions.  It is certainly true that one can easily
optimize them.  However one of the nice things about Lisp is that
it is possible to redefine functions on the fly.  This allows things
like TRACE, BREAK, and ADVISE, not to mention having users replace
standard functions with their own versions.  If the compiler turns
  (foo :bogus-key 1)
  (foo-internal-form 1)
then the user can't redefine foo and get the expected result.  Thus
I believe it to be a mistake to do these optimizations.

I'm sure that this is a minority opinion.  Most of the people involved
in the Common Lisp language definition do not believe in this sort
of thing, just as they do not believe in interpreters.  But there are
some implementors who want Common Lisp to be a dialect of Lisp.