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

CommonLoops: merging Lisp and object-oriented programming

Published: 01 June 1986 Publication History
  • Get Citation Alerts
  • Abstract

    CommonLoops blends object-oriented programming smoothly and tightly with the procedure-oriented design of Lisp. Functions and methods are combined in a more general abstraction. Message passing is invoked via normal Lisp function call. Methods are viewed as partial descriptions of procedures. Lisp data types are integrated with object classes. With these integrations, it is easy to incrementally move a program between the procedure and object-oriented styles.
    One of the most important properties of CommonLoops is its extensive use of meta-objects. We discuss three kinds of meta-objects: objects for classes, objects for methods, and objects for discriminators. We argue that these meta-objects make practical both efficient implementation and experimentation with new ideas for object-oriented programming.
    CommonLoops' small kernel is powerful enough to implement the major object-oriented systems in use today.

    References

    [1]
    Bobrow, D. G., Fogelsong, D. J., Miller, M.S., Definitwn Groups, Making Sources First Class Objects, ISL Report, Xerox PARC, 1986
    [2]
    Bobrow, Daniel G., Stefik, Mark. The Loops Manual, Intelligent Systems Laboratory, Xerox Corporation, 1983
    [3]
    Bobrow, Daniel G. and Stefik, Mark. "Perspectives on Artificial Intelligence Programming'; Science V231, No 4741, p 951 February 28,1986
    [4]
    ObjectLISP User Manual, LMI, 1000 Massachusetts Avenue, Cambridge, MA 02138.
    [5]
    A. Goldberg and D. Robson. Smalltalk-80: The Language and its Implementation. Addison-Wesley, Reading, MA 1983.
    [6]
    Moon, D., Keene, S, New Flavors. ACM 1986 OOPSLA Conference
    [7]
    Glenn Krasner, Ed. Smalltalk-80: Bits of History, Words of Advice. Addison-Wesley, Reading, MA, 1983.
    [8]
    Rees, J. A. and Adams, N. I. T: a dialect of Lisp or, lamda: the ultimate software tool, ACM Symposium on Lisp and Functional Programming, 1982
    [9]
    Shell, B. "Power Tools for Programmers", in Barstow, D. et al (editor) Interactive Programming Environments, McGraw Hill, 1984
    [10]
    Steele, G.L. Common Lisp: the language. Digital Press.1984.
    [11]
    Stefik, M., Bobrow, D.G. Object-oriented Programming: Themes and Variations. AI Magazine 6:4, Winter 1986.
    [12]
    Stefik, M., Bobrow, D.G., Kahn, K. Integrating access-oriented programming into a multi-paradigm environment, IEEE Software, 1986.

    Cited By

    View all
    • (2024)Decidable Subtyping of Existential Types for JuliaProceedings of the ACM on Programming Languages10.1145/36564218:PLDI(1091-1114)Online publication date: 20-Jun-2024
    • (2024)The Lisp World and Common Lisp: 1960–1990sA Narrative History of Artificial Intelligence10.1007/978-981-97-0771-3_3(93-149)Online publication date: 3-May-2024
    • (2020)World age in Julia: optimizing method dispatch in the presence of evalProceedings of the ACM on Programming Languages10.1145/34282754:OOPSLA(1-26)Online publication date: 13-Nov-2020
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    OOPSLA '86: Conference proceedings on Object-oriented programming systems, languages and applications
    June 1986
    508 pages
    ISBN:0897912047
    DOI:10.1145/28697
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 21, Issue 11
      Proceedings of the 1986 conference on Object-oriented programming systems, languages, and applications
      Nov. 1986
      495 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/960112
      Issue’s Table of Contents
    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: 01 June 1986

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate 268 of 1,244 submissions, 22%

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)167
    • Downloads (Last 6 weeks)27

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Decidable Subtyping of Existential Types for JuliaProceedings of the ACM on Programming Languages10.1145/36564218:PLDI(1091-1114)Online publication date: 20-Jun-2024
    • (2024)The Lisp World and Common Lisp: 1960–1990sA Narrative History of Artificial Intelligence10.1007/978-981-97-0771-3_3(93-149)Online publication date: 3-May-2024
    • (2020)World age in Julia: optimizing method dispatch in the presence of evalProceedings of the ACM on Programming Languages10.1145/34282754:OOPSLA(1-26)Online publication date: 13-Nov-2020
    • (2019)Codata in ActionProgramming Languages and Systems10.1007/978-3-030-17184-1_5(119-146)Online publication date: 6-Apr-2019
    • (2018)Julia: dynamism and performance reconciled by designProceedings of the ACM on Programming Languages10.1145/32764902:OOPSLA(1-23)Online publication date: 24-Oct-2018
    • (2015)BibliographyObject Programming Handbook10.1016/B978-1-78548-016-4.50015-X(515-520)Online publication date: 2015
    • (2014)Multiple Inheritance in AgentSpeak(L)-Style Programming LanguagesProceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control10.1145/2687357.2687362(109-120)Online publication date: 20-Oct-2014
    • (2014)Resolving Metastability Issues During BootstrappingProceedings of ILC 2014 on 8th International Lisp Conference10.1145/2635648.2635656(103-106)Online publication date: 14-Aug-2014
    • (2013)The power of interoperabilityProceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software10.1145/2509578.2514738(101-116)Online publication date: 29-Oct-2013
    • (2011)Flexible object layoutsACM SIGPLAN Notices10.1145/2076021.204813846:10(959-972)Online publication date: 22-Oct-2011
    • 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