Jump to content

Baby Modula-3

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by InternetArchiveBot (talk | contribs) at 17:59, 23 October 2016 (Rescuing 0 sources and tagging 1 as dead. #IABot (v1.2.5)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.

Influences

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 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.

References

  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". Types for Proofs and Programs. Lecture Notes in Computer Science. Springer Berlin Heidelberg. pp. 173–187. ISBN 978-3-540-68084-0. {{cite book}}: |access-date= requires |url= (help); External link in |chapterurl= (help); Unknown parameter |chapterurl= ignored (|chapter-url= suggested) (help); Unknown parameter |editors= ignored (|editor= suggested) (help)
  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) (PDF), retrieved 2012-03-29[permanent dead link]
  5. ^ Society, American Mathematical (1995). Abstracts of papers presented to the American Mathematical Society. American Mathematical Society.