Type checking with open type functions

Tom Schrijvers, Simon Peyton Jones, Manual Chakravarty, Martin Sulzmann

    Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

    Abstract

    We report on an extension of Haskell with open type-level functions and equality constraints that unifies earlier work on GADTs, functional dependencies, and associated types. The contribution of the paper is that we identify and characterise the key technical challenge of entailment checking; and we give a novel, decidable, sound, and complete algorithm to solve it, together with some practically-important variants. Our system is implemented in GHC, and is already in active use.
    Original languageEnglish
    Title of host publicationProceeding of the 13th ACM SIGPLAN international conference on Functional programming
    PublisherAssociation for Computing Machinery
    Publication date2008
    Pages51-62
    ISBN (Print)978-1-59593-919-7
    DOIs
    Publication statusPublished - 2008
    EventICFP 2008 : The 13th ACM SIGPLAN International Conference on Functional Programming - Victoria, British Columbia, Canada
    Duration: 22 Sept 200824 Sept 2008
    Conference number: 13

    Conference

    ConferenceICFP 2008 : The 13th ACM SIGPLAN International Conference on Functional Programming
    Number13
    Country/TerritoryCanada
    CityVictoria, British Columbia
    Period22/09/200824/09/2008

    Keywords

    • Haskell extensions
    • Type-level functions
    • Equality constraints
    • Entailment checking
    • GHC implementation

    Cite this