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

History of "backquote" macro



In response to your message sent  Mon, 12 Mar 84

There are two rather distinct components to the MacLisp-Style backquote,
which may have had varying influences from "history".

1) the notion of a template into which somethings were substituted existed
   since the time of Adolfo Guzman's thesis around 1967-8;  he had Lisp-level
   macros called QU and QU* which were essentially like QUOTE except that the
   form was "looked at" by a substitution parser, which substituted for certain
   key words (i.e., the equivalent of "," and ",@").  In later years (meaning
   around the time of Muddle -- 1971-75) some people were using variants of
   a macro-defining function that incorporated similar ideas.  Steele's
   MACRODEF comes to mind and so does a similar package attributed to Chuck
   Rich (both seem to have influenced DEFMACRO as well).

2) the notion of a reader macro that would "compile such a template on the
   fly into Lisp code".  I vaguely remember the influence of Muddle, especially
   for "[" like constructs so that you didn't need to type LIST, (and such
   a macro has been an essential feature of BRANDX for a long time, but with
   more serious development).  Such a reader macro wasn't in common use
   at the MIT AI lab in 1975, but after I returned from IBM (roughly, Jan 1978)
   I remember seeing the LispMachine people using it.  We quickly recognized
   its usefulness, and began a parallel development for PDP-10 MacLisp and NIL.

In fact, the "backquote" reader macro and DEFMACRO are so intertwined
that it has often been said that one can't understand backquote until he's
personally written a bunch of macro-producing macros using the ",'," and ",,"
paradigms.


The Post-1978 development as you (KMP) outlined in your note is more-or-less
as I remember it too.