[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Recognising QUOTE deemed harmful to EVAL's laziness



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