[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
History of "backquote" macro
- To: kmp@mit-mc.ARPA, Lisp-Forum@mc.ARPA
- Subject: History of "backquote" macro
- From: JONL.PA@PARC-MAXC.ARPA
- Date: Mon ,12 Mar 84 23:49:00 EDT
- Cc: McDermott@Yale.ARPA, Guy.Steele@cmuc.ARPA, Dick%MIT-OZ@mc.ARPA,, Hewitt@mc.ARPA, gjs@mc.ARPA, Genesereth@Score.ARPA, Masinter.PA@PARC-MAXC.ARPA, JonL.PA@PARC-MAXC.ARPA
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.