skip to main content
article
Free Access

A monotonic superclass linearization for Dylan

Published:01 October 1996Publication History
Skip Abstract Section

Abstract

Object-oriented languages with multiple inheritance and automatic conflict resolution typically use a linearization of superclasses to determine which version of a property to inherit when several superclasses provide definitions. Recent work has defined several desirable characteristics for linearizations, the most important being monotonicity, which prohibits inherited properties from skipping over direct superclasses. Combined with Dylan's sealing mechanism, a monotonic linearization enables some compile-time method selection that would otherwise be impossible in the absence of a closed-world assumption.The Dylan linearization is monotonic, easily described, strictly observes local precedence order, and produces the same ordering as CLOS when that is monotonic. We present an implementation based on merging and a survey of class heterarchies from several large programs, analyzing where commonly used linearizations differ.

References

  1. Apple 92 Apple Computer, Inc. Dylan: an object-orienteddynamic language. 1992.Google ScholarGoogle Scholar
  2. Apple 94 Apple Computer, Inc. Dylan Interim Reference Manual. 1994.Google ScholarGoogle Scholar
  3. Baker 91 Henry G. Baker. CLOStrophobia: Its Etiology and Treatment. ACM OOPS Messenger 2(4), October 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. DHHM 92 R. Ducournau, M. Habib, M. Huchard, and M.L. Mugnier. Monotonic Conflict Resolution Mechanisms for inheritance. OOPSLA '92 Proceedings, October 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. DHHM 94 R. Ducournau, M. Habib, M. Huchard, and M.L. Mugnier. Proposal for a Monotonic Multiple Inheritance Linearization. OOPSLA '94 Proceedings, October 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. ES 90 Margaret A. Ellis and Bjarne Stroustrup. The Annotated C++ Reference Manual. Addison-Wesley, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. KdRB 91 Gregor Kiczales, Jim des Rivi~res, and Daniel G. Bobrow. The Art of the Metaobject Protocol. MIT Press, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. MY 94 Scott McKay, William York, et. al. Common Lisp Interface Manager (CLIM II) Specification. 1994.Google ScholarGoogle Scholar
  9. Meyer 88 Bertrand Meyer. Object-oriented Software Construction. Prentice Hall, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Moon 86 David A. Moon. Object-oriented Programming with Flavors. OOPSLA '86 Proceedings, November 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. SB 86 Mark Stefik and Daniel G. Bobrow. Object-Oriented Programming: Themes and Variations. AI Magazine 6(4), 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Shalit 96 Andrew L.M. Shalit, Dytan Reference Manual. Addison-Wesley, 1996. Available as http : //www. cambridge, apple, com/dylan/drm/drm-i .html on the World Wide Web.Google ScholarGoogle Scholar
  13. Steele 90 Guy L. Steele, Jr. Common Lisp." the Language (2nd edition). Digital Press, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A monotonic superclass linearization for Dylan

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 31, Issue 10
        Oct. 1996
        443 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/236338
        Issue’s Table of Contents
        • cover image ACM Conferences
          OOPSLA '96: Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
          October 1996
          458 pages
          ISBN:089791788X
          DOI:10.1145/236337

        Copyright © 1996 ACM

        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]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 October 1996

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader