Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!spool.mu.edu!snorkelwacker.mit.edu!bloom-beacon!dont-send-mail-to-path-lines From: gjc@mitech.COM Newsgroups: comp.lang.scheme Subject: Macros are not sufficient ANYWAY! So beware. Message-ID: <9103121148.AA07590@schizo> Date: 11 Mar 91 11:10:09 GMT Sender: daemon@athena.mit.edu (Mr Background) Reply-To: gjc@mitech.com Organization: The Internet Lines: 21 Beware of solving the worlds problems with macros, because to the really experienced macro hacker the truth is know: Macros are not sufficient *AnyWay*!. One use of macros I have had during the last 10 years has been to keep Macsyma running in different lisp implementations without a radical rewrite of the code (the Macsyma *or* the underlying lisp code). At minimum to do a good job of this we need to be able to define a "macro" for the case (SOMEFORM ...) but also have a procedure around for the case (progn (setq x #'SOMEFORM) (APPLY x ...)). One SOMEFORM is the simple fixnum division operation "//" (using maclisp syntax). Since Macsyma does not like to see rational numbers coming up from the bowels of the underlying lisp implementation. LPH has told me that people involved with common lisp standardization are talking about (or more) a kind of macroexpansion-time macro facility. -gjc