A Lambda Calculus of incomplete objects
This paper extends the Lambda Calculus of Objects as proposed in  with a new support for incomplete objects. Incomplete objects behave operationally as “standard” objects; their typing, instead, is different, as they may be typed even though they contain references to methods that are yet to be added. As a byproduct, incomplete objects may be typed independently of the order of their methods and, consequently, the operational semantics of the untyped calculus may be soundly defined relying on a permutation rule that treats objects as sets of methods. The new type system is a conservative extension of the system of  that retains the mytype specialization property for inherited methods peculiar to , as well as the ability to statically detect run-time errors such as message not understood.
Unable to display preview. Download preview PDF.
- 1.M. Abadi and L. Cardelli. A Theory of Primitive Objects. In Proceedings of Theoretical Aspect of Computer Software, volume 789 of LNCS, pages 296–320. Springer-Verlag, 1994.Google Scholar
- 2.V. Bono, M. Bugliesi, and L. Liquori. A Calculus of Incomplete objects with Subtyping. In preparation.Google Scholar
- 3.V. Bono and L. Liquori. A Subtyping for the Fisher-Honsell-Mitchell Lambda Calculus of Objects. In Proceedings of International Conference of Computer Science Logic, volume 933 of LNCS, 1995.Google Scholar
- 4.E. Ellis and B. Stroustrop. The Annotated C++ Reference Manual. ACM Press, 1990.Google Scholar
- 5.K. Fisher, F. Honsell, and J. C. Mitchell. A Lambda Calculus of Objects and Method Specialization. Nordic Journal of Computing, l(l):3–37, 1994.Google Scholar
- 6.K. Fisher and J. C. Mitchell. A Delegation-based Object Calculus with Subtyping. In Proceedings of FCT-95, Lecture Notes in Computer Science. Springer-Verlag, 1995. To appear.Google Scholar
- 7.A. Goldberg and D. Robson. Smalltalk-80, The Language and its Implementation. Addison Wesley, 1983.Google Scholar
- 8.J. C. Michell. Toward a Typed Foundation for Method Specialization and Inheritance. In Proc. 17th ACM Symp. on Principles of Programming Languages, pages 109–124. ACM, 1990.Google Scholar