A specification for dependent types in haskell

35Citations
Citations of this article
19Readers
Mendeley users who have this article in their library.

Abstract

We propose a core semantics for Dependent Haskell, an extension of Haskell with full-spectrum dependent types. Our semantics consists of two related languages. The first is a Curry-style dependently-typed language with nontermination, irrelevant arguments, and equality abstraction. The second, inspired by the Glasgow Haskell Compiler’s core language FC, is its explicitly-typed analogue, suitable for implementation in GHC. All of our resultsÐchiefly, type safety, along with theorems that relate these two languagesÐhave been formalized using the Coq proof assistant. Because our work is backwards compatible with Haskell, our type safety proof holds in the presence of nonterminating computation. However, unlike other full-spectrum dependently-typed languages, such as Coq, Agda or Idris, because of this nontermination, Haskell’s term language does not correspond to a consistent logic.

Author supplied keywords

Cite

CITATION STYLE

APA

Weirich, S., Voizard, A., De Amorim, P. H. A., & Eisenberg, R. A. (2017). A specification for dependent types in haskell. Proceedings of the ACM on Programming Languages, 1(ICFP). https://doi.org/10.1145/3110275

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free