[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
preprocessor-based Common Lisps
- To: John Diamant <hpfclp!diamant@HPLABS.HP.COM>
- Subject: preprocessor-based Common Lisps
- From: "Scott E. Fahlman" <Fahlman@C.CS.CMU.EDU>
- Date: Wed, 21 Jan 1987 21:08:00 -0000
- Cc: common-lisp@SAIL.STANFORD.EDU
- In-reply-to: Msg of 21 Jan 1987 12:18-EST from John Diamant <hpfclp!diamant at hplabs.HP.COM>
- Sender: FAHLMAN@C.CS.CMU.EDU
In the majority of Common Lisp systems that I know of, DEFUN inserts the
named block around the body of the lambda form before saving it away.
So in this minimal sense, almost everyone does some pre-processing in
the interpreter.
A lot of systems save macro-expansions inline (more or less) after the
first expansion occurs. This is usually a feature that you can turn on
and off, and in the better systems you can undo such actions if the
macro is redefined. I think that systems that expand macros or do other
optimizations at DEFUN time are in the minority, however.
-- Scott