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

Re: LISPM compiler inadequacy?



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?