Objective ML: a simple object-oriented extension of ML

Objective ML is a small practical extension of ML with objects and toplevel classes. It is fully compatible with ML; its type system is based on ML polymorphism, record types with polymorphic access, and a better treatment of type abbreviations. Objective ML allows for most features of object-oriented languages including multiple inheritance, methods returning self and binary methods as well as parametric classes. This demonstrates that objects can be added to strongly typed languages based on ML polymorphism.

[1]  Luca Cardelli,et al.  Subtyping recursive types , 1991, POPL '91.

[2]  Didier Rémy Syntactic theories and the algebra of record terms , 1992 .

[3]  John C. Mitchell,et al.  A lambda calculus of objects and method specialization , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[4]  Martín Abadi,et al.  A Theory of Primitive Objects: Second-Order Systems , 1995, Sci. Comput. Program..

[5]  Atsushi Ohori,et al.  A polymorphic record calculus and its compilation , 1995, TOPL.

[6]  Benjamin C. Pierce,et al.  Object-oriented programming without recursive types , 1993, POPL '93.

[7]  Thierry Le Sergent,et al.  Programming with Behaviors in an ML Framework - The Syntax and Semantics of LCS , 1994, ESOP.

[8]  John H. Reppy,et al.  Simple objects for Standard ML , 1996, PLDI '96.

[9]  Jens Palsbergypalsberg,et al.  Eecient Recursive Subtyping , 1993 .

[10]  Didier Rémy,et al.  Programming Objects with ML-ART, an Extension to ML with Abstract and Record Types , 1994, TACS.

[11]  Didier Rémy,et al.  Type inference for records in natural extension of ML , 1994 .

[12]  Martín Abadi,et al.  A Theory of Primitive Objects - Untyped and First-Order Systems , 1994, TACS.

[13]  Scott F. Smith,et al.  Sound polymorphic type inference for objects , 1995, OOPSLA.

[14]  Kim B. Bruce,et al.  PolyTOIL: A Type-Safe Polymorphic Object-Oriented Language , 1995, ECOOP.

[15]  Jens Palsberg,et al.  Efficient recursive subtyping , 1992, POPL '93.

[16]  John C. Mitchell,et al.  F-bounded polymorphism for object-oriented programming , 1989, FPCA.

[17]  John C. Mitchell,et al.  F-bounded quantification for object-oriented programming , 1989 .

[18]  Scott F. Smith,et al.  Type inference for recursively constrained types and its application to OOP , 1995, MFPS.

[19]  Martin Odersky,et al.  Putting type annotations to work , 1996, POPL '96.

[20]  Benjamin C. Pierce,et al.  Simple type-theoretic foundations for object-oriented programming , 1994, Journal of Functional Programming.