2019
DOI: 10.1145/3341704
|View full text |Cite
|
Sign up to set email alerts
|

Dependently typed Haskell in industry (experience report)

Abstract: Recent versions of the Haskell compiler GHC have a number of advanced features that allow many idioms from dependently typed programming to be encoded. We describe our experiences using this "dependently typed Haskell" to construct a performance-critical library that is a key component in a number of verification tools. We have discovered that it can be done, and it brings significant value, but also at a high cost. In this experience report, we describe the ways in which programming at the edge of what is exp… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
3
2

Relationship

0
5

Authors

Journals

citations
Cited by 5 publications
(1 citation statement)
references
References 24 publications
0
1
0
Order By: Relevance
“…This technique of using indexed data types to represent well-typed expressions has trickled down into numerous industrial applications built using Haskell, including the Crucible symbolic simulator developed by Galois and Accelerate library for generating GPU code (Chakravarty et al, 2011). Christiansen et al (2019) write: 'the experience 2 W. Swierstra Fig. 1: An inductive family of well-typed, well-scoped lambda terms of profiling Crucible showed that linear access.…”
Section: Introductionmentioning
confidence: 99%
“…This technique of using indexed data types to represent well-typed expressions has trickled down into numerous industrial applications built using Haskell, including the Crucible symbolic simulator developed by Galois and Accelerate library for generating GPU code (Chakravarty et al, 2011). Christiansen et al (2019) write: 'the experience 2 W. Swierstra Fig. 1: An inductive family of well-typed, well-scoped lambda terms of profiling Crucible showed that linear access.…”
Section: Introductionmentioning
confidence: 99%