Departmental Papers (CIS)

Date of this Version

3-2010

Document Type

Journal Article

Comments

Dimitrios Vytiniotis and Stephanie Weirich. Parametricity, Type Equality and Higher-order Polymorphism. Journal of Functional Programming, 20(2):175-210, March 2010

Copyright © Cambridge University Press 2010 DOI: http://dx.doi.org/10.1017/S0956796810000079

Abstract

Propositions that express type equality are a frequent ingredient of modern functional programming|they can encode generic functions, dynamic types, and GADTs. Via the Curry-Howard correspondence, these propositions are ordinary types inhabited by proof terms, computed using runtime type representations. In this paper we show that two examples of type equality propositions actually do re ect type equality; they are only inhabited when their arguments are equal and their proofs are unique (up to equivalence.) We show this result in the context of a strongly normalizing language with higher-order polymorphism and primitive recursion over runtime type representations by proving Reynolds's abstraction theorem. We then use this theorem to derive \free" theorems about equality types.

Share

COinS
 

Date Posted: 24 July 2012