Subject: backquote evaluation From: Erik Naggum <erik@naggum.no> Date: Mon, 27 Mar 1995 02:32:31 GMT Newsgroups: comp.lang.lisp Message-ID: <3005260352.499433@naggum.no> I thought `read' should read and `eval' should evaluate, but when I read a backquoted form, weird things happen, like partial or complete evaluation. I have tried to find out what the proper thing to do is, as well as find support for the things that various implementations do, in CLtL2 and CL dpANS 3, and I'm at a loss. I recognize that as long as we're reading Lisp code to be evaluated, it does not really matter when evaluation of simple expressions takes place, but when reading Lisp code to work on it and write it back out again, consternation occurs when different implementations disagree, and I can't even find what's supposed to be the Right Thing. I'm not sure what I'm trying to do is consonant with the Tao of Lisp, but regardless, I have become interested in finding out if there's a specific division of labor between `read' and `eval': is there a rule that says that a set of forms are known always to be evaluated to identical results, so it is arbitrary which of them is returned from a call to read, or is there a rule that says that read is not allowed to mess with its input? I'm sure there is a simple model that I have overlooked, so I won't bother you with the numerous small examples that have confused me -- I fear I have missed something utterly trivial. if you think so, too, please mail me. :) (not to be provocative, but I found Scheme's handling of quasiquote to be elegant, which may blur my vision for alternate models.) #<Erik> -- the greatest obstacle to communication is the illusion that it has already taken place