[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Top-level forms and eval-when in the compiler [and macrolet too!]
Date: Wed, 11 Sep 85 01:15:31 EDT
From: Tim McNerney <TIM at MIT-MC.ARPA>
Should a CL compiler generate interpreted or compiled definitions
for the the functions f and g in the following form?
(macrolet (...)
(defun f ...)
(defun g ...))
In my opinion, Lisp compilers should compile any LAMBDA-expressions,
explicit or implicit, which could possibly exist at and after load time.
So the answer is yes.
This subsumes the case of top-level
(setf (get 'foo 'bar) #'(lambda ...)),
The LAMBDA-expression doesn't get compiled by at least one aspiring
Common Lisp that I know of. One shouldn't have to do a DEFUN here just
in order to cause compilation to happen. That defeats the whole purpose
of anonymous functions.
Jonathan Rees