Baby modula-3

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Baby Modula-3 is a functional programming sublanguage of Modula-3 (safe subset) programming language based on ideals invented by Martín Abadi. It is an object oriented language for studying programming language design; one part of it is implicitly prototype-oriented programming language, and the other is explicitly statically typed designed for studying computer science type theories. It has been checked as a formal language of metaprogramming systems.[1] It comes from the "Scandinavian School" of object-oriented programming languages.

Martín Abadi tried to give an example of pure object-oriented language which would allow the studying of 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."[1] This object model has been shown to have well definiteness decidability [2] (a mechanical proof of it isn't known).

The inventor of Baby Modula-3 worked at Systems Research Center (SRC) of Digital Equipment Corporation (DEC) in Palo Alto, California. As DEC was bought by Compaq and Compaq itself was bought by Hewlett-Packard the SRC-report 95 was made available to the public by HP.


Luca Cardelli and Martín Abadi wrote the book A Theory of Objects[3] in 1997 laying out formal calculi for the semantics of object-oriented programming languages. Baby Modula-3 influenced this work according to Luca Cardelli,[4] and guided a calculus of the type of Self (computer programming) in Types for object and the type of 'self'.[5] It has open the way for work on Modula-3 formal semantic checking systems, for object oriented type system programming languages that have been used to model the formal semantics of programming languages such as Ada (programming language) and C (programming language) Research, retrieved 2012-03-22 .


  1. ^ a b Baby Modula-3 and a theory of objects Martin Abadi. DEC Systems Research Center (SRC) Research Report 95 (February 1993)
  2. ^ Schwinghammer, J. (2008-01-01). "On Normalization by Evaluation for Object Calculi". In Marino Miculan, Ivan Scagnetto, Furio Honsell (eds.). Types for Proofs and Programs. Lecture Notes in Computer Science. Springer Berlin Heidelberg. pp. 173–187. ISBN 978-3-540-68084-0. Retrieved 2014-03-17. 
  3. ^ Abadi, Martin; Luca Cardelli (1996-08-09). A Theory of Objects (Corrected ed.). Springer. ISBN 0387947752. 
  4. ^ A Theory of Primitive Objects (untyped, first and second-order systems), retrieved 2012-03-29 
  5. ^ Society, American Mathematical (1995). Abstracts of papers presented to the American Mathematical Society. American Mathematical Society.