Misplaced Pages

Baby Modula-3

Article snapshot taken from[REDACTED] with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
The topic of this article may not meet Misplaced Pages's general notability guideline. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be merged, redirected, or deleted.
Find sources: "Baby Modula-3" – news · newspapers · books · scholar · JSTOR (October 2011) (Learn how and when to remove this message)
This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources.
Find sources: "Baby Modula-3" – news · newspapers · books · scholar · JSTOR (October 2011) (Learn how and when to remove this message)
(Learn how and when to remove this message)

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 programming language for studying programming language design; one part of it is implicitly prototype-oriented, and the other is explicitly statically typed designed for studying computer science type theory. It has been checked as a formal language of metaprogramming systems. It comes from the Scandinavian School of object-oriented languages.

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

Abadi worked at Digital Equipment Corporation (DEC) Systems Research Center (SRC) in Palo Alto, California. As DEC was bought by Compaq and then Compaq was bought by Hewlett-Packard (HP), the SRC-report 95 was made available to the public by HP.

Influences

Luca Cardelli and Martín Abadi wrote the book A Theory of Objects in 1996, laying out formal calculi for the semantics of object-oriented programming languages. Baby Modula-3 influenced this work according to Cardelli, and guided a calculus of the type of self in Types for object and the type of 'self'. It has opened 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 languages such as Ada and C.

References

  1. ^ Baby Modula-3 and a theory of objects Martin Abadi. Digital Equipment Corporation (DEC) Systems Research Center (SRC) Research Report 95 (February 1993)
  2. Schwinghammer, J. (2008-01-01). "On Normalization by Evaluation for Object Calculi". In Miculan, Marino; Scagnetto, Ivan; Honsell, Furio (eds.). Types for Proofs and Programs. Lecture Notes in Computer Science. Vol. 4941. Springer Berlin Heidelberg. pp. 173–187. CiteSeerX 10.1.1.140.5764. doi:10.1007/978-3-540-68103-8_12. ISBN 978-3-540-68084-0.
  3. Abadi, Martin; Cardelli, Luca (1996-08-09). A Theory of Objects (Corrected ed.). Springer. ISBN 978-0387947754.
  4. A Theory of Primitive Objects (untyped, first and second-order systems) (PDF), retrieved 2012-03-29
  5. Abstracts of papers presented to the American Mathematical Society. American Mathematical Society. 1995.
  6. Research, retrieved 2012-03-22
Modula, Oberon
Modula
By WirthModula (1975) → Modula-2 (1978)
By others
Operating systems
Workstations
Developers
Organizations
People
Oberon
By Wirth
Oberon (1987) → Oberon-2 (1991) → Lola (1995) → Active Oberon (1998) → Oberon-07 (2007)
Operating systems
WorkstationCeres (1985)
By others
Developers
Organizations
People


Stub icon

This programming-language-related article is a stub. You can help Misplaced Pages by expanding it.

Categories:
Baby Modula-3 Add topic