Skip to main content
×
×
Home

Baby Modula-3 and a theory of objects

  • Martin Abadi (a1)
Abstract

Baby Modula-3 is a small, functional, object-oriented programming language. It is intended as a vehicle for explaining the core of Modula-3 from a biased perspective: Baby Modula-3 includes the main features of Modula-3 related to objects, but not much else. To the theoretician, Baby Modula-3 provides a tractable, concrete example of an object-oriented language, and we use it to study the formal semantics of objects. Baby Modula-3 is defined with a structured operational semantics and with a set of static type rules. A denotational semantics guarantees the soundness of this definition.

Copyright
References
Hide All
Abadi, M.Plotkin, G. (1990) A per model of polymorphism and recursive types. In: Proceedings of the Fifth Annual Symposium on Logic In Computer Science Conference, 355365. IEEE.
Amadio, R.Cardelli, L. (1991) Subtyping recursive types. In: Proceedings of the Eighteenth Annual ACM Symposium on Principles of Programming Languages, 104118. ACM.
Amadio, R. (1991) Recursion over realizability structures. Information and Computation, 91(1):5585.
Bainbridge, E.S., Freyd, P.J., Scedrov, A. and Scott, P.J. (1990) Functorial polymorphism, Theoretical Computer Science, 70(1): 3564. Corrigendum in (3) 71, April 1990, p 431.
Bruce, K. (1993) Safe type checking in a statically-typed object-oriented programming language In: Proceedings of the Twentieth Annual ACM Symposium on Principles of Programming Languages, 285298. ACM.
Cardelli, L. (1986) Amber. In: Cousineau, G., Curien, P.-L. and Robinet, B., eds., Combinators and Functional Programming Languages. Lecture Notes in Computer Science No. 242. Springer-Verlag.
Cardelli, L., Donahue, J., Glassman, L., Jordan, M., Kalsow, B. and Nelson, G. (1988) Modula-3 report. Research Report 31, Digital Equipment Corporation Systems Research Center.
Cardelli, L. (1992) Extensible records in a pure calculus of subtyping. In: Gunter, C. and Mitchell, J.C., eds., Theoretical Aspects of Object-oriented Programming: Types, Semantics and Language Design. MIT Press, to appear. (A preliminary version has appeared as SRC Research Report No. 81.)
Cardone, L. and Nelson, G. (1993) Structured command semantics. Draft.
Cardone, F. (1989) Relational semantics for recursive types and bounded quantification. In Ausiello, G., Dezani-Ciancaglini, M. and Ronchi Della Rocca, S., editors, Automata, Languages and Programming. Lecture Notes in Computer Science No. 372, pages 164178. Springer-Verlag.
Castagna, G., Ghelli, G. and Longo, G. (1992a) A calculus for overloaded functions with subtyping. Technical Report LIENS-92-4, Ecole Normale Supérieure.
Castagna, G. (1992b) Strong typing in object-oriented paradigms. Technical Report LIENS-92-11, Ecole Normale Supérieure.
Cook, W.R. (1989) A denotational semantics of inheritance. PhD thesis, Brown University.
Cook, W.R., Hill, W.L. and Canning, P.S. (1990) Inheritance is not subtyping. In: Seventeenth Annual ACM Symposium on Principles of Programming Languages, 125135. ACM.
Girard, J.-Y. (1972) Interprétation Fonctionnelle et Elimination des Coupures de l'Arithmétique d'Ordre Supérieur. Thèse de doctorat d'état, Université Paris VII.
Gunter, C. (1992) Semantics of Programming Languages: Structures and Techniques. Foundations of Computing Series. MIT Press, Cambridge, MA.
Guttag, J.V. and Horning, J.J., eds. (1993) Larch: Languages and Tools for Formal Specification. Texts and monographs in computer science. Springer-Verlag.
MacQueen, D., Plotkin, G. and Sethi, R. (1986) An ideal model for recursive polymorphic types. Information and Control, 71: 95130.
Mitchell, J.C. (1990) Toward a typed foundation for method specialization and inheritance. In: Seventeenth Annual ACM Symposium on Principles of Programming Languages, 109124. ACM.
Mitchell, J.C., Honsell, F. and Fisher, K. (1993) A lambda calculus of objects and method specialization. In: Proceedings of the Eight IEEE Annual Symposium on Logic in Computer Science, 2638. IEEE.
Nelson, G., ed. (1991) Systems Programming in Modula-3. Prentice-Hall.
Pierce, B.C. and Turner, D.N. (1992) Statically typed multi-methods via partially abstract types. Draft.
Pierce, B.C. and Turner, D.N. (1993) Object-oriented programming without recursive types. In: Proceedings of the Twentieth Annual ACM Symposium on the Principles of Programming Languages, 299312. ACM.
Plotkin, G. (1981) A structural approach to operational semantics. Technical Report DAIMI FN-19, Computer Science Department, Aarhus University, Denmark.
Steele, G.L. (1990) Common Lisp: The Language, 2nd ed.Digital Press, Bedford, MA.
Wand, M. (1987) Complete type inference for simple objects. In: Proceedings of the Second Symposium on Logic in Computer Science, 3744. IEEE. Corrigendum in Proceedings of the Third Symposium on Logic in Computer Science, 132 (1988).
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Journal of Functional Programming
  • ISSN: 0956-7968
  • EISSN: 1469-7653
  • URL: /core/journals/journal-of-functional-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 10 *
Loading metrics...

Abstract views

Total abstract views: 108 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 13th June 2018. This data will be updated every 24 hours.

Baby Modula-3 and a theory of objects

  • Martin Abadi (a1)
Submit a response

Discussion

No Discussion have been published for this article.

×

Reply to: Submit a response


Your details


Conflicting interests

Do you have any conflicting interests? *