Baby Modula-3 es un sublenguaje de programación funcional del lenguaje de programación Modula-3 (subconjunto seguro) basado en los ideales inventados por Martín Abadi . Es un lenguaje de programación orientado a objetos para estudiar el diseño de lenguajes de programación ; una parte de él está implícitamente orientado a prototipos , y la otra está explícitamente tipado estáticamente diseñado para estudiar la teoría de tipos de la informática . Ha sido comprobado como un lenguaje formal de sistemas de metaprogramación . [1] Proviene de la Escuela Escandinava de lenguajes orientados a objetos.
Abadi intentó dar un ejemplo de lenguaje orientado a objetos puro que permitiera estudiar la semántica formal de los objetos. "Baby Modula-3 se define con una semántica operacional estructurada y con un conjunto de reglas de tipos estáticos. Una semántica denotacional garantiza la solidez de esta definición". [1] Se ha demostrado que este modelo de objetos tiene una buena decidibilidad de definición [2] (no se conoce una prueba mecánica de ello).
Abadi trabajaba en el Centro de Investigación de Sistemas (SRC) de Digital Equipment Corporation (DEC) en Palo Alto , California . Cuando DEC fue adquirida por Compaq y luego Compaq fue adquirida por Hewlett-Packard (HP), HP puso a disposición del público el informe SRC 95.
Luca Cardelli y Martín Abadi escribieron el libro A Theory of Objects en 1996, [3] exponiendo cálculos formales para la semántica de los lenguajes de programación orientados a objetos. Baby Modula-3 influyó en este trabajo según Cardelli, [4] y guió un cálculo del tipo de self en Types for object y el tipo de 'self' . [5] Ha abierto el camino para el trabajo en sistemas de verificación semántica formal Modula-3, para lenguajes de programación de sistemas de tipos orientados a objetos que se han utilizado para modelar la semántica formal de lenguajes como Ada y C. [6 ]