Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/800087.802790acmconferencesArticle/Chapter ViewAbstractPublication PageslfpConference Proceedingsconference-collections
Article
Free access

A semantic comparison of LISP and SCHEME

Published: 25 August 1980 Publication History
  • Get Citation Alerts
  • 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

    [1]
    Boyer, Robert S. & J. Strother Moore, Proving Theorems About LISP Functions, JACM, vol. 22, no. 1, Jan. 1975, pp. 129-144.]]
    [2]
    Doyle, Jon, Johan de Kleer, Gerald J. Sussman & Guy L. Steele, Explicit Control of Reasoning, Proc. Symp. on Artif. Intel. and Prog. Lang., SIGPLAN Notices, vol. 12, no. 8, Aug. 1977, pp. 116-125.]]
    [3]
    Gordon, Michael J.C., Operational Reasoning and Denotational Semantics, Memo AIM-264, Artificial Intelligence Laboratory, Stanford University, August 1975.]]
    [4]
    Gordon, Michael J.C., The Denotational Description of Programming Languages, Springer-Verlag, New York, 1979.]]
    [5]
    Jones, Neil D. & Steven S. Muchnick, Binding Time Optimization in Programming Languages, Conf. Rec. of Third ACM Symp. on Princ. of Prog. Lang., January 1976, pp. 77-94.]]
    [6]
    Jones, Neil D. & Steven S. Muchnick, Flow Analysis and Optimization of LISP-like Structures, Conf. Rec. of Sixth ACM Symp. on Princ. of Prog. Lang., January 1979, pp. 244-256.]]
    [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]
    McCarthy, John, Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I, CACM, vol. 3, no. 4, 1960, pp. 184-195.]]
    [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]
    John McCarthy, History of LISP, SIGPLAN Notices, vol. 13, no. 8, August 1978, pp. 217-223.]]
    [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]
    Steele, Guy L., Jr. & Gerald J. Sussman, LAMBDA: The Ultimate Imperative, Memo 353, Artificial Intelligence Laboratory, M.I.T., March 1976.]]
    [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]
    Steele, Guy L., Jr., RABBIT: A Compiler for SCHEME, Technical Report AI-TR-474, Artificial Intelligence Laboratory, M.I.T., May 1978.]]
    [19]
    Steele, Guy L., Jr. & Gerald J. Sussman, The Art of the Interpreter or, The Modularity Complex (Parts Zero, One, and Two), Memo 453, Artificial Intelligence Laboratory, M.I.T., May 1978.]]
    [20]
    Stoy, Joseph E., Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, M.I.T. Press, Cambridge, Massachusetts, 1977.]]
    [21]
    Sussman, Gerald J. & Guy L. Steele, Jr., SCHEME: An Interpreter for Extended Lambda Calculus, Memo 349, Artificial Intelligence Laboratory, Cambridge, Massachusetts, December 1975.]]
    [22]
    Teitelman, Warren, InterLISP Reference Manual, Revised edition, Xerox Palo Alto Research Center, Palo Alto, California, 1975.]]
    [23]
    Tennent, Robert D., The Denotational Semantics of Programming Languages, CACM, vol. 19, 1976, pp. 437-453.]]

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    LFP '80: Proceedings of the 1980 ACM conference on LISP and functional programming
    August 1980
    247 pages
    ISBN:9781450373968
    DOI:10.1145/800087
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 25 August 1980

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate 30 of 109 submissions, 28%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)121
    • Downloads (Last 6 weeks)12
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2008)A Semantic Programming Language SPL+ - A Preliminary ReportProceedings of the 2008 20th IEEE International Conference on Tools with Artificial Intelligence - Volume 0210.1109/ICTAI.2008.104(274-281)Online publication date: 3-Nov-2008
    • (2005)Escaping from intermediate expression swell: a continuing sagaComputer Algebra10.1007/3-540-11607-9_30(256-262)Online publication date: 28-May-2005
    • (2000)Induction, Domains, CalculiHigher-Order and Symbolic Computation10.1023/A:101006612764413:1-2(89-101)Online publication date: 1-Apr-2000
    • (1998)The Theory of Fexprs is TrivialLisp and Symbolic Computation10.1023/A:100772063273410:3(189-199)Online publication date: 1-May-1998
    • (1992)An operational semantics for SchemeACM SIGPLAN Lisp Pointers10.1145/1039991.1039992V:2(6-10)Online publication date: 1-Apr-1992
    • (1991)Revised4 report on the algorithmic language schemeACM SIGPLAN Lisp Pointers10.1145/382130.382133IV:3(1-55)Online publication date: 1-Jul-1991
    • (1990)DScheme, An Imbedable InterpreterDatabase and Expert Systems Applications10.1007/978-3-7091-7553-8_22(132-137)Online publication date: 1990
    • (1989)Welding advisory system for process selection “WASPS”Proceedings of the 2nd international conference on Industrial and engineering applications of artificial intelligence and expert systems - Volume 110.1145/66617.66669(422-427)Online publication date: 6-Jun-1989
    • (1989)An algebraic specification of method combination for the Common Lisp Object SystemLisp and Symbolic Computation10.1007/BF018115362:2(115-152)Online publication date: Jun-1989
    • (1988)Intensions and extensions in a reflective towerProceedings of the 1988 ACM conference on LISP and functional programming10.1145/62678.62725(327-341)Online publication date: 1-Jan-1988
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media