ACM Home Page
Please provide us with feedback. Feedback
A semantic comparison of LISP and SCHEME
Full text PdfPdf (703 KB)
Source Conference on LISP and Functional Programming archive
Proceedings of the 1980 ACM conference on LISP and functional programming table of contents
Stanford University, California, United States
Pages: 56 - 64  
Year of Publication: 1980
Authors
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 32,   Citation Count: 14
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/800087.802790
What is a DOI?

ABSTRACT

We review the features of some of the major dialects of LISP, show how they are reflected in denotational treatments of their semantics and draw a series of conclusions concerning semantic design of languages, program proving and optimization. We concentrate our attention on four dialects: (1) LISP 1.0 - approximating McCarthy's original design, (2) Modern LISP - approximating the major features of most current systems, (3) Funarg LISP - Modern LISP with upward and downward functional arguments, and (4) SCHEME - Steele and Sussman's lexically scoped dialect. LISP 1.0 and SCHEME are semantically tractable. In both cases it is possible to write a denotational semantics which exactly specifies the types of semantic objects being manipulated and the meaning of each valid syntactic construct. For modern LISP and Funarg LISP, on the other hand, we show that it is not possible to give a semantics which fully specifies the language and satisfies all the tenets of denotational semantics. However, we give a definition which rests on the foundational underpinnings of denotational semantics, thus guaranteeing that our semantic objects exist, and violates only the structural definition principle: that the meaning of a construct be defined in terms of the meanings of its parts. This has far-reaching significance for program proving, optimization and comprehensibility of programs.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
 
3
 
4
5
6
 
7
Jones, Neil D., Steven S. Muchnick & David A. Schmidt, A Universal Compiler: Towards a Compiler Generator Based on Denotational Semantics, Technical Report IR-17, University of Aarhus, Aarhus, Denmark, December 1979.
8
 
9
McCarthy, John, Paul W. Abrahams, David J. Edwards, Timothy P. Hunt & Michael I. Levin, LISP 1.5 Programmer's Manual, 2nd ed., M.I.T. Press, Cambridge, Massachusetts, 1965.
10
 
11
Moon, David A., MACLISP Reference Manual, Revision 0, Project MAC, M.I.T., Cambridge, Massachusetts, April 1974.
 
12
Moore, J. Strother, Introducing Iteration into the Pure LISP Theorem Prover, IEEE Trans. on Software Eng., vol. SE-1, no. 3, September 1975, pp. 328-338.
 
13
Mosses, Peter D., Mathematical Semantics and Compiler Generation, Ph.D. Dissertation, University of Oxford, 1975.
 
14
Pleban, Uwe F., The Standard Semantics of a Subset of SCHEME, a Dialect of LISP, Technical Report TR-79-3, Computer Science Department, University of Kansas, Lawrence, Kansas, July 1979.
 
15
Pleban, Uwe F., A Denotational Approach to Flow Analysis and Optimization of SCHEME, a Dialect of LISP, Ph.D. Dissertation, University of Kansas, Lawrence, Kansas, to appear in 1980.
 
16
 
17
Steele, Guy L., Jr. & Gerald J. Sussman, Revised Report on SCHEME, a Dialect of LISP, Memo 452, Artificial Intelligence Laboratory, M.I.T., January 1978.
 
18
 
19
 
20
 
21
 
22
Teitelman, Warren, InterLISP Reference Manual, Revised edition, Xerox Palo Alto Research Center, Palo Alto, California, 1975.
23

CITED BY  14

Collaborative Colleagues:
Steven S. Muchnick: colleagues
Uwe F. Pleban: colleagues