A Nominal Theory of Objects with Dependent Types

We design and study newObj, a calculus and dependent type system for objects and classes which can have types as members. Type members can be aliases, abstract types, or new types. The type system can model the essential concepts of Java's inner classes as well as virtual types and family polymorphism found in BETA or gbeta. It can also model most concepts of SML-style module systems, including sharing constraints and higher-order functors, but excluding applicative functors. The type system can thus be used as a basis for unifying concepts that so far existed in parallel in advanced object systems and in module systems. The technical report presents results on confluence of the calculus, soundness of the type system, and undecidability of type checking.


    Technical report IC/2002/070. Short version in Workshop on Foundations of Object-Oriented Languages, New Orleans, January 2003. In European Conference on Object-Oriented Programming, Darmstadt, Germany, July 2003. © Springer-Verlag. See LNCS home page.


    Record created on 2006-01-24, modified on 2017-05-12

Related material