I would swear I read some Lisp-related paper about this with some nice Lisp advocacy in it, too.<p>Aha, here it is: <a href="http:&#x2F;&#x2F;www.cs.berkeley.edu&#x2F;~fateman&#x2F;papers&#x2F;ADIL.pdf" rel="nofollow">http:&#x2F;&#x2F;www.cs.berkeley.edu&#x2F;~fateman&#x2F;papers&#x2F;ADIL.pdf</a><p>&gt; <i>For fans of Lisp, there is no question that one motivation is to show how easy it is to implement in Lisp.
Lisp provides a natural representation for programs as data and a natural form for writing programs that
write programs, which is what we do in ADIL. The code is short, and is in ANSI standard Common Lisp.
Since it is not &quot;naive&quot; code written in just the obvious idioms of introductory Lisp, it illustrates, for those
with only a cursory familiarity, that Lisp is more than
CAR
and
CDR. In fact we did not use those routines
at all.</i><p>Ah, but you did use A and D. cAr-tomatic cDr-ivation!<p>:)