2017
DOI: 10.1145/3110275
|View full text |Cite
|
Sign up to set email alerts
|

A specification for dependent types in Haskell

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 langua… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
30
0

Year Published

2017
2017
2024
2024

Publication Types

Select...
4
2
2

Relationship

0
8

Authors

Journals

citations
Cited by 36 publications
(32 citation statements)
references
References 43 publications
0
30
0
Order By: Relevance
“…Dependent Haskell [Weirich et al 2017] will blur the line between value-level and type-level programming, as arbitrary terms can then appear in types. Matchability is an important piece of the Dependent Haskell puzzle, and much of the development here can be re-purposed in that context.…”
Section: Discussionmentioning
confidence: 99%
See 2 more Smart Citations
“…Dependent Haskell [Weirich et al 2017] will blur the line between value-level and type-level programming, as arbitrary terms can then appear in types. Matchability is an important piece of the Dependent Haskell puzzle, and much of the development here can be re-purposed in that context.…”
Section: Discussionmentioning
confidence: 99%
“…The various type system extensions as seen in GHC have been moving Haskell closer and closer to supporting full-spectrum dependent types. Dependent Haskell will allow ordinary term-level functions in types [Weirich et al 2017]. However, getting there poses a unique challenge: backwards compatibility.…”
Section: Dependent Haskellmentioning
confidence: 99%
See 1 more Smart Citation
“…We also have a prototype implementation in Idris, a much younger language that features dependent types and hence allows us to verify more sophisticated properties at the type level [4], however at the time of writing there is no equivalent of the SBV library in Idris, which is a significant practical disadvantage. Dependent Haskell [24], once implemented, will provide a convenient alternative.…”
Section: From Hardware To Untyped Assembly To Typed Softwarementioning
confidence: 99%
“…Interactive theorem provers, such as Coq, Agda, or HOL, have been used for both mechanising formal models of programming languages (Featherweight Java [5,6], Scala DOT-calculus [7], JavaScript [4], Dependent Haskell [9]) and development of certified software, including certified compilers and interpreters (CompCert [3], JSRef [4], CakeML [8]). In this context "certified" means that the behaviour of an interpreter/compiled code corresponds to the formal model of a programming language.…”
Section: Introductionmentioning
confidence: 99%