A Nominal Theory of Objects with Dependent Types

Martin Odersky, Vincent Cremet, Christine Röckl, Matthias Zenger,
EPFL Lausanne

Proc. Fool 10, January 2003

Abstract

We design and study nuObj, 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 paper presents results on confluence of the calculus, soundness of the type system, and undecidability of type checking.

Paper

in .ps or .ps.gz or .dvi .dvi.gz

BibTeX Entry

@InProceedings{odersky-et-al:fool10,
  author = 	 {Martin Odersky and Vincent Cremet and Christine R\"ockl and Matthias Zenger},
  title = 	 {A Nominal Theory of Objects with Dependent Types},
  booktitle =	 {Proc. FOOL 10},
  year =	 2003,
  month =	 jan,
  note =	 {\verb@http://www.cis.upenn.edu/~bcpierce/FOOL/FOOL10.html@}
}

See also

The extended technical report.