Lately, I've been thinking a lot about the basis of Lisp; I've read several manuals and/or other materials on the Internet, including The Roots of Lisp by P. Graham:
In The Roots of Lisp, quote
is described as a primitive that changes code into data, thereby quoting it, but there doesn't seem to be an equivalent inverse primitive, that is an unquote
primitive. I thought it might have been eval
's business, but eval
often runs the data in a null lexical environment, which is not equivalent to changing data back into code.
Ergo, why isn't there an unquote
Lisp primitive?