Skip to main content

An operational semantics for TOOPLE: A statically-typed object-oriented programming language

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 802))

Abstract

In this paper we present an operational semantics for the language TOOPLE, a statically-typed functional object-oriented programming language which has a number of desirable properties. The operational semantics, given in the form of a natural semantics, is significantly simpler than the previous denotational semantics for the language. A “subject reduction” theorem for the natural semantics provides a proof that the language is type-safe. We also show that the natural semantics is consistent with the denotational semantics of the language.

Computing Review categories: D3.2 Object Oriented Languages, F3.2 Operational Semantics, F3.3 Type structure.

This research was partially supported by NSF grant CCR. — 9121778.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M Abadi. Doing without F-bounded quantification. Message to Types electronic mail list, February, 1992.

    Google Scholar 

  2. K. Bruce, J. Crabtree, A. Dimock, R. Muller, T. Murtagh, and R. van Gent. Safe and decidable type checking in an object-oriented language. In Proc. ACM Symp. on Object-Oriented Programming: Systems, Languages, and Applications, pages 29–46, 1993.

    Google Scholar 

  3. Gilad Bracha and David Griswold. Strongtalk: Typechecking Smalltalk in a production environment. In Proc. ACM Symp. on Object-Oriented Programming: Systems, Languages, and Applications, pages 215–230, 1993.

    Google Scholar 

  4. K. Bruce and G. Longo. A modest model of records, inheritance and bounded quantification. Information and Computation, 87(1/2):196–240, 1990.

    Google Scholar 

  5. K. Bruce. A paradigmatic object-oriented programming language: design, static typing and semantics. Technical Report CS-92-01, revised, Williams College, 1993. To appear in Journal of Functional Programming.

    Google Scholar 

  6. K. Bruce. Safe type checking in a statically typed object-oriented programming language. In Proc. ACM Symp. on Principles of Programming Languages, pages 285–298, 1993.

    Google Scholar 

  7. Kim B. Bruce and Robert van Gent. TOIL: A new type-safe object-oriented imperative language, to appear, 1993.

    Google Scholar 

  8. L. Cardelli. A semantics of multiple inheritance. Information and Computation, 76:138–164, 1988. Special issue devoted to Symp. on Semantics of Data Types, Sophia-Antipolis (France), 1984.

    Google Scholar 

  9. L. Cardelli. Structural subtyping and the notion of powertype. In Proc 15th ACM Symp. Principles of Programming Languages, pages 70–79, 1988.

    Google Scholar 

  10. Luca Cardelli. Extensible records in a pure calculus of subtyping. Technical Report 81, DEC Systems Research Center, 1992.

    Google Scholar 

  11. P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273–280, 1989.

    Google Scholar 

  12. P.L. Curien and G. Ghelli. Coherence of subsumption, minimum typing and type-checking in F . Mathematical Structures in Computer Science, 2:55–91, 1992.

    Google Scholar 

  13. G. Castagna, G. Ghelli, and G. Longo. A calculus for overloaded functions with subtyping. In Proc. ACM Symp. Lisp and Functional Programming Languages, pages 182–192, 1992.

    Google Scholar 

  14. William R. Cook, Walter L. Hill, and Peter S. Canning. Inheritance is not subtyping. In Proc. 17th ACM Symp. on Principles of Programming Languages, pages 125–135, January 1990.

    Google Scholar 

  15. Luca Cardelli and Giuseppe Longo. A semantic basis for Quest. Journal of Functional Programming, 1(4):417–458, 1991.

    Google Scholar 

  16. L. Cardelli and J.C. Mitchell. Operations on records. In Math. Foundations of Prog. Lang. Semantics, pages 22–52. Springer LNCS 442, 1990.

    Google Scholar 

  17. L. Cardelli and P. Wegner. On understanding types, data abstraction, and polymorphism. Computing Surveys, 17(4):471–522, 1985.

    Google Scholar 

  18. Carl A. Gunter. Semantics of Programming Languages: Structures and Techniques. MIT Press, 1992.

    Google Scholar 

  19. J.C. Mitchell. Toward a typed foundation for method specialization and inheritance. In Proc. 17th ACM Symp. on Principles of Programming Languages, pages 109–124, January 1990.

    Google Scholar 

  20. Hanne Riis Nielson and Flemming Nielson. Semantics with applications: A formal introduction. John Wiley & Sons, 1992.

    Google Scholar 

  21. Benjamin C. Pierce and Martin Hoffman. An abstract view of objects and subtyping (preliminary report). Technical Report ECS-LFCS-92-226, University of Edinburgh, 1992.

    Google Scholar 

  22. Benjamin C. Pierce. Bounded quantification is undecidable. In Proc 19th ACM Symp. Principles of Programming Languages, pages 305–315, 1992.

    Google Scholar 

  23. Benjamin C. Pierce and David N. Turner. Simple type-theoretic foundations for object-oriented programming. Technical report, University of Edinburgh, 1992.

    Google Scholar 

  24. Benjamin C. Pierce and David N. Turner. Object-oriented programming without recursive types. In Proc 20th ACM Symp. Principles of Programming Languages, pages 299–312, 1993.

    Google Scholar 

  25. Robert van Gent. TOIL: An imperative type-safe object-oriented language. Williams College Senior Honors Thesis, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Stephen Brookes Michael Main Austin Melton Michael Mislove David Schmidt

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bruce, K.B., Crabtree, J., Kanapathy, G. (1994). An operational semantics for TOOPLE: A statically-typed object-oriented programming language. In: Brookes, S., Main, M., Melton, A., Mislove, M., Schmidt, D. (eds) Mathematical Foundations of Programming Semantics. MFPS 1993. Lecture Notes in Computer Science, vol 802. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58027-1_30

Download citation

  • DOI: https://doi.org/10.1007/3-540-58027-1_30

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58027-0

  • Online ISBN: 978-3-540-48419-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics