Conference Record of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 2006
DOI: 10.1145/1111037.1111038
|View full text |Cite
|
Sign up to set email alerts
|

Why dependent types matter

Abstract: We exhibit the rationale behind the design of Epigram, a dependently typed programming language and interactive program development system, using refinements of a well known program-merge sort-as a running example. We discuss its relationship with other proposals to introduce aspects of dependent types into functional programming languages and sketch some topics for further work in this area.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
7
0

Year Published

2007
2007
2020
2020

Publication Types

Select...
5
1
1

Relationship

0
7

Authors

Journals

citations
Cited by 20 publications
(7 citation statements)
references
References 43 publications
0
7
0
Order By: Relevance
“…With the use of indexed (co-)datatypes [8,29], dependently typed programming [18,22] has been successful in offering 'intrinsic' guarantees about basic properties whose proofs closely follow program structures and can be implicitly embedded into programs. Typical examples include keeping indices within bounds [11], representing wellscoped and well-typed syntax trees of embedded languages [2], and tracking the available effects/resources used in programs [6].…”
Section: Interactive Type-driven Developmentmentioning
confidence: 99%
“…With the use of indexed (co-)datatypes [8,29], dependently typed programming [18,22] has been successful in offering 'intrinsic' guarantees about basic properties whose proofs closely follow program structures and can be implicitly embedded into programs. Typical examples include keeping indices within bounds [11], representing wellscoped and well-typed syntax trees of embedded languages [2], and tracking the available effects/resources used in programs [6].…”
Section: Interactive Type-driven Developmentmentioning
confidence: 99%
“…We see this paper as an intermediary and necessary step towards dependent types for which we first needed to understand the potential and limitations of a non-dependently typed pure functional approach in Haskell. Dependent types are extremely promising in functional programming as they allow us to express stronger guarantees about the correctness of programs and go as far as allowing to formulate programs and types as constructive proofs which must be total by definition [2,29,46]. So far no research using dependent types in agent-based simulation exists at all.…”
Section: Further Researchmentioning
confidence: 99%
“…In the case of nonterminating computations, one will in general get an infinite trace; to account for that case, one needs a coalgebraic rather than an algebraic reading of the tracing datatype. Perhaps this can all be conveniently captured in a 'strong functional programming' [48] or constructive type theory [33] setting, carefully distinguishing between terminating functions from algebraic datatypes and productive functions to coalgebraic codatatypes (in which case the constructions are technically no longer 'free' monads), or perhaps it really requires a shift from SET to CPO.…”
Section: Beyond Finite Supportmentioning
confidence: 99%