Document Type
Article
Publication Title
ACM SIGPLAN Notices - ICFP '14
Version
Author's Final Manuscript
Volume
49
Publication Date
9-2014
Abstract
Generative type abstractions – present in Haskell, OCaml, and other languages – are useful concepts to help prevent programmer errors. They serve to create new types that are distinct at compile time but share a run-time representation with some base type. We present a new mechanism that allows for zero-cost conversions between generative type abstractions and their representations, even when such types are deeply nested. We prove type safety in the presence of these conversions and have implemented our work in GHC.
Publisher's Statement
© ACM, YYYY. 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 ACM SIGPLAN Notices - ICFP '14, Volume 49, Issue 9, (September 2014) http://doi.acm.org/10.1145/2692915.2628141
DOI
http://doi.acm.org/10.1145/2692915.2628141
Citation
Joachim Breitner, Richard A. Eisenberg, Simon Peyton Jones, Stephanie Weirich, "Safe zero-cost coercions for Haskell," ACM SIGPLAN Notices - ICFP '14 (September 2014): 189-202.