Vincent Cremet and Philippe Altherr: Adding Type Constructor Parameterization to Java, JOT vol. 7, no. 5.

We present a generalization of Javaâ€™s parametric polymorphism that enables parameterization of classes and methods by type constructors, i.e., functions from types to types. Our extension is formalized as a calculus called FGJ_{Ï‰}. It is implemented in a prototype compiler and its type system is proven safe and decidable. We describe our extension and motivate its introduction in an object-oriented context through two examples: the definition of generic data-types with binary methods and the definition of generalized algebraic data-types. The Coq proof assistant was used to formalize FGJ_{Ï‰} and to mechanically check its proof of type safety.

FGJ_{Ï‰} is a simple extension of (Featherweight) Java's generics, where type parameters may be type constructors (functions from types to types). This very readable paper finally made me understand GADTs.

(Previously: Generics of a Higher Kind on Scala's support for the same idea.)

## Recent comments

2 hours 40 min ago

16 hours 24 min ago

17 hours 37 min ago

17 hours 48 min ago

18 hours 2 min ago

18 hours 30 min ago

1 day 4 hours ago

1 day 7 hours ago

2 days 5 hours ago

4 days 2 hours ago