[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: LISPM compiler inadequacy?
- To: MOON at MIT-MC
- Subject: Re: LISPM compiler inadequacy?
- From: JONL@MIT-MC
- Date: Sun ,2 Jun 80 00:17:10 EDT
CC: (BUG LISPM) at MIT-MC
The lossage I mentioned to you last week about macros is no
doubt due the compiler "remembering" macrodefinitions for
use by the compiler's macro-finder/expander, but not doing so
in a way that can be utilized by expr code. MACLISP does this
(that is, remembering, but not PUTPROPping macro definitions)
when the macro name conflicts with a system function, but
apparently the LISPM compiler does it for all macros?
For example,
(MACRO FIRST-MACRO (X)
(CDR (ASSQ (CADR X) '((TWO . '2) (THREE . '3)))))
(MACRO SECOND-MACRO (Y) `(LIST ,(first-macro (cadr y))))
(DEFUN A-FUN () (SECOND-MACRO THREE))
seems to be a paradigm of how I get the compiler to die in an
undefined function (which it announces to be FIRST-MACRO).
Is this right? Is this the intended state during macroexpansion?