|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Julian Padget , Jérôme Chailloux , Thomas Christaller , Ramon DeMantaras , Jeff Dalton , Matthieu Devin , John Fitch , Timm Krumnack , Eugen Neidl , Eric Papon , Stephen Pope , Christian Queinnec , Luc Steels , Herbert Stoyan, Desiderata for the standardization of LISP, Proceedings of the 1986 ACM conference on LISP and functional programming, p.54-66, August 1986, Cambridge, Massachusetts, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
H. Abelson , R. K. Dybvig , C. T. Haynes , G. J. Rozas , N. I. Adams, IV , D. P. Friedman , E. Kohlbecker , G. L. Steele, Jr. , D. H. Bartley , R. Halstead , D. Oxley , G. J. Sussman , G. Brooks , C. Hanson , K. M. Pitman , M. Wand , William Clinger , Jonathan Rees, Revised report on the algorithmic language scheme, ACM SIGPLAN Lisp Pointers, v.IV n.3, p.1-55, July, 1991
|
|
|
|
|
|
|
|