Advertisement

An extended Theory of Primitive Objects: First order system

  • Luigi Liquori
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1241)

Abstract

We investigate a first-order extension of the Theory of Primitive Objects of [5] that supports method extension in presence of object subsumption. Extension is the ability of modifying the behavior of an object by adding new methods (and inheriting the existing ones). Object subsumption allows to use objects with a bigger interface in a context expecting another object with a smaller interface. This extended calculus has a sound type system which allows static detection of run-time errors such as message-not-understood, “width” subtyping and a typed equational theory on objects. Moreover, it can express classes and class-inheritance.

Categories

Type systems design and semantics of object-oriented languages 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    M. Abadi. Baby Modula-3 and a Theory of Objects. Journal of Functional Programming, 1(2):240–283, 1994.MathSciNetGoogle Scholar
  2. 2.
    M. Abadi and L. Cardelli. A Theory of Primitive Objects: Second-Order Systems. Science of Computer Programming, 25(2–3):81–116, 1995.MathSciNetCrossRefGoogle Scholar
  3. 3.
    M. Abadi and L. Cardelli. An Imperative Object Calculus. Theory and Practice of Objects Systems, 1(3):151–166, 1996.Google Scholar
  4. 4.
    M. Abadi and L. Cardelli. A Theory of Objects. Springer-Verlag, 1996.Google Scholar
  5. 5.
    M. Abadi and L. Cardelli. A Theory of Primitive Objects: Untyped and First Order System. Information and Computation, 125(2):78–102, 1996.MathSciNetCrossRefGoogle Scholar
  6. 6.
    H. P. Barendregt. The Lambda Calculus: Its Syntax and Semantics, volume 103 of Studies in Logic and the Foundations of Mathematics. North-Holland, Amsterdam, revised edition, 1984.Google Scholar
  7. 7.
    V. Bono and M. Bugliesi. Matching Constraint for the Lambda Calculus of Objects. In Proc. of TLCA-97, LNCS. Springer-Verlag, 1997. To appear.Google Scholar
  8. 8.
    V. Bono, M. Bugliesi, M. Dezani-Ciancaglini, and L. Liquori. Subtyping Constraint for Incomplete Objects. In Proc. of CAAP-97, LNCS. Springer-Verlag, 1997. To appear.Google Scholar
  9. 9.
    V. Bono, M. Bugliesi, and L. Liquori. A Lambda Calculus of Incomplete Objects. In Proc. of MFCS-96, volume 1113 of LNCS, pages 218–229. Springer-Verlag, 1996.Google Scholar
  10. 10.
    V. Bono and L. Liquori. A Subtyping for the Fisher-Honsell-Mitchell Lambda Calculus of Objects. In Proc. of CSL-94, volume 933 of LNCS, pages 16–30. Springer-Verlag, 1995.Google Scholar
  11. 11.
    K.B. Bruce, A. Shuett, and R. van Gent. Poly toil: a Type-safe Polymorphic Object-Oriented Language. In Proc. of ECOOP-95, volume 952 of LNCS, pages 16–30, 1995.Google Scholar
  12. 12.
    K. Fisher, F. Honsell, and J. C. Mitchell. A Lambda Calculus of Objects and Method Specialization. Nordic Journal of Computing, 1(1):3–37, 1994.MathSciNetGoogle Scholar
  13. 13.
    K. Fisher and J. C. Michell. The Development of Type Systems for Object Oriented Languages. Theory and Practice of Objects Systems, 1(3):189–220, 1995.Google Scholar
  14. 14.
    K. Fisher and J. C. Mitchell. A Delegation-based Object Calculus with Subtyping. In Proc. of FCT-95, volume 965 of LNCS, pages 42–61. Springer-Verlag, 1995.Google Scholar
  15. 15.
    A. Goldberg and D. Robson. Smalltalk-80: The Language and its Implementation. Addison-Wesley, 1983.Google Scholar
  16. 16.
    L. Liquori. An Extended Theory of Primitive Objects. Technical Report CS-23-96, Computer Science Department, University of Turin, Italy, 1996.Google Scholar
  17. 17.
    L. Liquori. Type Assigment Systems for Lambda Calculi and for the Lambda Calculus of Objects. PhD thesis, University of Turin, February 1996.Google Scholar
  18. 18.
    L. Liquori and G. Castagna. A Typed Lambda Calculus of Objects. In Proc. of Asian-96, volume 1212 of LNCS, pages 129–141. Springer-Verlag, 1996.Google Scholar
  19. 19.
    J. Palsberg. Efficient Inference of Object Types. Information and Computation, 123:198–209, 1995.MATHMathSciNetCrossRefGoogle Scholar
  20. 20.
    G. Plotkin. A Structural Approach to Operational Semantics. Technical Report DAIMI FN-19, Aarhus University, Denmark, 1981.Google Scholar
  21. 21.
    D. Remy. Refined Subtyping and Row Variables for Record Types. Draft, 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Luigi Liquori
    • 1
  1. 1.Dip. InformaticaUniversità di TorinoTorinoItaly

Personalised recommendations