Show simple item record

dc.contributor.authorMorris, J. Garrett
dc.contributor.authorEisenberg, Richard A.
dc.date.accessioned2017-09-22T22:08:44Z
dc.date.available2017-09-22T22:08:44Z
dc.date.issued2017-09
dc.identifier.citationJ. Garrett Morris and Richard A. Eisenberg. 2017. Constrained Type Families. Proc. ACM Program. Lang. 1, ICFP, Article 42 (September 2017), 28 pages.en_US
dc.identifier.urihttp://hdl.handle.net/1808/25014
dc.description.abstractWe present an approach to support partiality in type-level computation without compromising expressiveness or type safety. Existing frameworks for type-level computation either require totality or implicitly assume it. For example, type families in Haskell provide a powerful, modular means of defining type-level computation. However, their current design implicitly assumes that type families are total, introducing nonsensical types and significantly complicating the metatheory of type families and their extensions. We propose an alternative design, using qualified types to pair type-level computations with predicates that capture their domains. Our approach naturally captures the intuitive partiality of type families, simplifying their metatheory. As evidence, we present the first complete proof of consistency for a language with closed type families.en_US
dc.publisherAssociation for Computing Machineryen_US
dc.rights© 2017 Copyright held by the owner/author(s). Publication rights licensed to Association for Computing Machinery. 2475-1421/2017/9-ART42.en_US
dc.subjectTheory of computation--Type structuresen_US
dc.subjectSoftware and its engineering--Functional languagesen_US
dc.subjectType familiesen_US
dc.subjectType-level computationen_US
dc.subjectType classesen_US
dc.subjectHaskellen_US
dc.titleConstrained Type Familiesen_US
dc.typeArticleen_US
kusw.kuauthorMorris, J. Garrett
kusw.kudepartmentElectrical Engineering and Computer Scienceen_US
dc.identifier.doi10.1145/3110286en_US
kusw.oaversionScholarly/refereed, publisher versionen_US
kusw.oapolicyThis item meets KU Open Access policy criteria.en_US
dc.rights.accessrightsopenAccess


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record