Английская Википедия:Baby Modula-3

Материал из Онлайн справочника
Версия от 05:17, 5 февраля 2024; EducationBot (обсуждение | вклад) (Новая страница: «{{Английская Википедия/Панель перехода}} {{Multiple issues| {{notability|date=October 2011}} {{primary sources|date=October 2011}} }} '''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 p...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Шаблон:Multiple issues

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.[1] 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."[1] This object model has been shown to have well definiteness decidability[2] (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,[3] laying out formal calculi for the semantics of object-oriented programming languages. Baby Modula-3 influenced this work according to Cardelli,[4] and guided a calculus of the type of self in Types for object and the type of 'self'.[5] 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.[6]

References

Шаблон:Reflist

Шаблон:Modula, Oberon Шаблон:Prog-lang-stub