Publication | Closed Access
Dependently typed programming with singletons
74
Citations
39
References
2012
Year
Unknown Venue
EngineeringGeneric ProgrammingAutomated ReasoningProgram AnalysisHaskell Type SystemHaskell ProgrammersType TheoryFormal MethodsDependently Typed ProgrammingComputer ScienceType SystemProgramming Languages
Haskell programmers have been experimenting with dependent types for at least a decade, using clever encodings that push the limits of the Haskell type system. However, the cleverness of these encodings is also their main drawback. Although the ideas are inspired by dependently typed programs, the code looks significantly different. As a result, GHC implementors have responded with extensions to Haskell's type system, such as GADTs, type families, and datatype promotion. However, there remains a significant difference between programming in Haskell and in full-spectrum dependently typed languages. Haskell enforces a phase separation between runtime values and compile-time types. Therefore, singleton types are necessary to express the dependency between values and types. These singleton types introduce overhead and redundancy for the programmer.
| Year | Citations | |
|---|---|---|
Page 1
Page 1