Type Inference for Nested Self Types

  • Viviana Bono
  • Jerzy Tiuryn
  • Paweł Urzyczyn
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3085)

Abstract

We address the issue of the decidability of the type inference problem for a type system of an object-oriented calculus with general selftypes. The fragment considered in the present paper is obtained by restricting the set of operators to method invocation only. The resulting system, despite its syntactical simplicity, is sufficiently complicated to merit the study of the intricate constraints emerging in the process of type reconstruction, and it can be considered as the core system with respect to typability for extensions with other operators. The main result of the paper is the decidability of type reconstruction, together with a certain form of a principal type property.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abadi, M., Cardelli, L.: A Theory of Objects. Monographs in Computer Science. Springer, Heidelberg (1996)MATHGoogle Scholar
  2. 2.
    Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)Google Scholar
  3. 3.
    Bono, V.: Extensible Objects: a Tutorial. In: Priami, C. (ed.) GC 2003. LNCS, vol. 2874, pp. 57–87. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. 4.
    Bono, V., Bugliesi, M.: Matching for the Lambda Calculus of Objects. Theoretical Computer Science 212(1–2), 101–140 (1999)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Bono, V., Bugliesi, M., Crafa, S.: Typed Interpretations of Extensible Objects. ACM Transactions on Computational Logic 3(4), 562–603 (2002)CrossRefMathSciNetGoogle Scholar
  6. 6.
    Bracha, G., Odersky, M., Stoutamire, D., Wadler, P.: Making the future safe for the past: Adding genericity to the Java programming language. In: Proc. of OOPSLA 1998, vol. 33(10), pp. 183–200 (1998)Google Scholar
  7. 7.
    Bruce, K.B.: A paradigmatic object-oriented programming language: Design, static typing and semantics. Journal of Functional Programming 4(2), 127–206 (1994)MATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Bruce, K.B.: Foundations of Object-Oriented Languages–Types and Semantics. The MIT Press, Cambridge (2002)Google Scholar
  9. 9.
    Bugliesi, M., Pericas, S.: Depth subtyping and type inference for object calculi. Information and Computation 177(1), 2–27 (2002)MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Di Gianantonio, P., Honsell, F., Liquori, L.: A Lambda Calculus of Objects with Selfinflicted Extension. In: Proc. of ACM-SIGPLAN OOPSLA, pp. 166–178. ACM Press, New York (1998)Google Scholar
  11. 11.
    Fisher, K., Honsell, F., Mitchell, J.C.: A lambda calculus of objects and method specialization. Nordic Journal of Computing 1(1), 3–37 (1994)MATHMathSciNetGoogle Scholar
  12. 12.
    Henglein, F.: Breaking through the n3 barrier: Faster object type inference. Theory and Practice of Object Systems (TAPOS) 5(1), 57–72 (1999)CrossRefGoogle Scholar
  13. 13.
    Hense, A.V.: Polymorphic Type Inference for Object-Oriented Programming Languages. Pirrot Verlag (1994)Google Scholar
  14. 14.
    Mitchell, J.C.: Toward a typed foundation for method specialization and inheritance. In: Proc. of ACM Symp. POPL, pp. 109–124. ACM Press, New York (1990)Google Scholar
  15. 15.
    Palsberg, J.: Efficient inference of object types. Information and Computation 123(2), 198–209 (1995)MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Palsberg, J., Jim, T.: Type inference with simple selftypes is NP-complete. Nordic Journal of Computing 4(3), 259–286 (1997)MATHMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Viviana Bono
    • 1
  • Jerzy Tiuryn
    • 2
  • Paweł Urzyczyn
    • 2
  1. 1.Dipartimento di InformaticaUniversità di TorinoTorinoItaly
  2. 2.Instytut InformatykiUniwersytet WarszawskiWarszawaPoland

Personalised recommendations