Towards a categorical semantics of type classes

This is an exercise in the description of programming languages as indexed categories. Type classes have been introduced into functional programming languages to provide a uniform framework for ‘overloading’. We establish a correspondence between type classes and comprehension schemata in categories. Coherence results allow us to describe subclasses and implicit conversions between types.

[1]  Eugenio Moggi A Cateogry-Theoretic Account of Program Modules , 1991, Math. Struct. Comput. Sci..

[2]  Thomas Ehrhard A categorical semantics of constructions , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[3]  Philip Wadler,et al.  How to make ad-hoc polymorphism less ad hoc , 1989, POPL '89.

[4]  Andrew M. Pitts,et al.  Polymorphism is Set Theoretic, Constructively , 1987, Category Theory and Computer Science.

[5]  Tobias Nipkow,et al.  Type Classes and Overloading Resolution via Order-Sorted Unification , 1991, FPCA.

[6]  Pierre-Louis Curien Substitution up to Isomorphism , 1993, Fundam. Informaticae.

[7]  J. Lambek,et al.  Introduction to higher order categorical logic , 1986 .

[8]  Saunders MacLane,et al.  Coherence for bicategories and indexed categories , 1985 .

[9]  Simon Peyton Jones,et al.  A static semantics for Haskell , 1992 .

[10]  Giorgio Ghelli,et al.  Coherence of Subsumption , 1990, CAAP.

[11]  Bart Jacobs,et al.  Relating Models of Impredicative Type Theories , 1991, Category Theory and Computer Science.

[12]  Bart Jacobs Comprehension Categories and the Semantics of Type Dependency , 1993, Theor. Comput. Sci..

[13]  R. A. G. Seely,et al.  Categorical semantics for higher order polymorphic lambda calculus , 1987, Journal of Symbolic Logic.