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.
References
M Abadi. Doing without F-bounded quantification. Message to Types electronic mail list, February, 1992.
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.
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.
K. Bruce and G. Longo. A modest model of records, inheritance and bounded quantification. Information and Computation, 87(1/2):196–240, 1990.
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.
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.
Kim B. Bruce and Robert van Gent. TOIL: A new type-safe object-oriented imperative language, to appear, 1993.
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.
L. Cardelli. Structural subtyping and the notion of powertype. In Proc 15th ACM Symp. Principles of Programming Languages, pages 70–79, 1988.
Luca Cardelli. Extensible records in a pure calculus of subtyping. Technical Report 81, DEC Systems Research Center, 1992.
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.
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.
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.
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.
Luca Cardelli and Giuseppe Longo. A semantic basis for Quest. Journal of Functional Programming, 1(4):417–458, 1991.
L. Cardelli and J.C. Mitchell. Operations on records. In Math. Foundations of Prog. Lang. Semantics, pages 22–52. Springer LNCS 442, 1990.
L. Cardelli and P. Wegner. On understanding types, data abstraction, and polymorphism. Computing Surveys, 17(4):471–522, 1985.
Carl A. Gunter. Semantics of Programming Languages: Structures and Techniques. MIT Press, 1992.
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.
Hanne Riis Nielson and Flemming Nielson. Semantics with applications: A formal introduction. John Wiley & Sons, 1992.
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.
Benjamin C. Pierce. Bounded quantification is undecidable. In Proc 19th ACM Symp. Principles of Programming Languages, pages 305–315, 1992.
Benjamin C. Pierce and David N. Turner. Simple type-theoretic foundations for object-oriented programming. Technical report, University of Edinburgh, 1992.
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.
Robert van Gent. TOIL: An imperative type-safe object-oriented language. Williams College Senior Honors Thesis, 1993.
Author information
Authors and Affiliations
Editor information
Rights 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