Departmental Papers (CIS)

Document Type

Conference Paper

Date of this Version

2011

Comments

Stephanie Weirich, Dimitrios Vytiniotis, Simon Peyton Jones, and Steve Zdancewic. Generative Type Abstraction and Type-level Computation. In Proc. of the ACM Symposium on Principles of Programming Languages (POPL), 2011.

doi>10.1145/1925844.1926411

© ACM, 2011. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proc. of the ACM Symposium on Principles of Programming Languages, { (2011)} http://doi.acm.org/10.1145/1925844.1926411" Email permissions@acm.org

Abstract

Modular languages support generative type abstraction, ensuring that an abstract type is distinct from its representation, except inside the implementation where the two are synonymous. We show that this well-established feature is in tension with the non-parametric features of newer type systems, such as indexed type families and GADTs. In this paper we solve the problem by using kinds to distinguish between parametric and non-parametric contexts. The result is directly applicable to Haskell, which is rapidly developing support for type-level computation, but the same issues should arise whenever generativity and non-parametric features are combined.

Share

COinS
 

Date Posted: 18 July 2012