Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!mcvax!inria!crcge1!adams From: adams@crcge1.UUCP (Drew Adams) Newsgroups: comp.lang.misc,comp.lang.lisp Subject: Re: Recognising QUOTE deemed harmful to EVAL's laziness Message-ID: <2718@crcge1.UUCP> Date: Thu, 23-Jul-87 08:23:54 EDT Article-I.D.: crcge1.2718 Posted: Thu Jul 23 08:23:54 1987 Date-Received: Sat, 25-Jul-87 11:58:58 EDT Lines: 70 Keywords: reduction, quotation, LISP, evaluation Xref: mnetor comp.lang.misc:573 comp.lang.lisp:355 Further References ------------------ I neglected to mention that the idea that QUOTE is properly treated as a constructor (in a reduction setting) is due to Alan Robinson. Thanks to Jan Prins for reminding me. Here's the paper where he discusses denotation vs. reduction with respect to quote. I don't know of a more recent one. %T New Generation Knowledge Processing %A J. A. ROBINSON %R First Annual Progress Report %I Syracuse University %C Syracuse, New York %D December 1984 That paper introduces the "unknown-tolerant" fully lazy functional logic language SUPER being developed at Syracuse University. The essential reference dealing with the functional basis of SUPER is: %T A Fully Lazy Higher Order Purely Functional Programming Language with Reduction Semantics %A Kevin J. GREENE %I Syracuse University %C Syracuse, New York %D August 1985 %O Ph.D. Thesis Thanks also to Stan Shebs for reminding me of Brian Smith's work on 3-LISP, which (among other things) is another attempt to clean up the semantics of quotation (and more). Here are two accessible references. %T The Implementation of Procedurally Reflective Languages %A Jim des RIVIERES %A Brian Cantwell SMITH %B ACM Symposium on LISP and Functional Programming %C Austin, Texas %I ACM %P 331-347 %D August 6-8, 1984 %T Reflection and Semantics in Lisp %A Brian Cantwell SMITH %B Eleventh Annual ACM Symposium on Principles of Programming Languages (POPL) %C Salt Lake City, Utah %I ACM %P 23-35 %D January 15-18, 1984 In case some who read this didn't see Stan's message, here is part: "His basic point of view is that quoting is important to distinguish levels of meta-ness, and so quoted objects are promoted to first-class types known as handles. There are operations UP and DOWN that add and remove handles, since evaluation does not; (eval '2) => '2. Also, (+ 2 '3) is an semantic error, like taking the car of an number. In other words, Smith also uses an essentially *reducing* EVAL, separating out a separate denotation mechanism. -- Drew ADAMS, Laboratoires de Marcoussis, Centre de Recherche de la Compagnie Generale d'Electricite, Route de Nozay, 91460 MARCOUSSIS, FRANCE Tel. 64.49.11.54, adams@crcge1.cge.fr