ACM Home Page
Please provide us with feedback. Feedback
Type checking with open type functions
Full text PdfPdf (275 KB)
Source
International Conference on Functional Programming archive
Proceeding of the 13th ACM SIGPLAN international conference on Functional programming table of contents
Victoria, BC, Canada
SESSION: Session 3 table of contents
Pages 51-62  
Year of Publication: 2008
ISBN:978-1-59593-919-7
Also published in ...
Authors
Tom Schrijvers  Katholieke Universiteit Leuven, Leuven, Belgium
Simon Peyton Jones  Microsoft Research, Cambridge, United Kingdom
Manuel Chakravarty  University of New South Wales, Sydney, Australia
Martin Sulzmann  IT University, Copenhagen, Denmark
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): n/a,   Downloads (12 Months): n/a,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1411204.1411215
What is a DOI?

ABSTRACT

We report on an extension of Haskell with open type-level functions and equality constraints that unifies earlier work on GADTs, functional dependencies, and associated types. The contribution of the paper is that we identify and characterise the key technical challenge of entailment checking; and we give a novel, decidable, sound, and complete algorithm to solve it, together with some practically-important variants. Our system is implemented in GHC, and is already in active use.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
4
5
 
6
 
7
Iavor S. Diatchki. High-level abstractions for low-level programming. PhD thesis, OGI School of Science & Engineering, May 2007.
 
8
Thom Frühwirth. Theory and practice of Constraint Handling Rules. Journal of Logic Programming, 37(1-3):95--138, 1998.
9
 
10
Louis-Julien Guillemette and Stefan Monnier. One vote for type families in Haskell! In Draft Proc. of TFP'08, pages 53--65, 2008.
11
 
12
 
13
14
 
15
Daniel R. Licata and Robert Harper. A formulation of Dependent ML with explicit equality proofs. Technical Report CMU-CS-05-178, Carnegie Mellon University Department of Computer Science, 2005.
 
16
Conor McBride. Epigram: A dependently typed functional programming language. http://www.dur.ac.uk/CARG/epigram/.
 
17
Matthias Neubauer, Peter Thiemann, Martin Gasbichler, and Michael Sperber. A functional notation for functional dependencies. In Proceedings of the 2001 Haskell Workshop, 2001.
 
18
Robert Nieuwenhuis and Albert Oliveras. Proof-producing congruence closure. In Proc. of RTA'05, volume 3467 of LNCS, pages 453--468. Springer-Verlag, 2005.
 
19
Pyotr S. Novikov. On the algorithmic unsolvability of the word problem in group theory. In the Steklov Institute of Mathematics 44, pages 1--143, 1955. (Russian).
20
 
21
Tom Schrijvers and Martin Sulzmann. Restoring confluence of functional dependencies via type families. In Draft Proc. of TFP'08, pages 22--36, 2008.
 
22
Tom Schrijvers, Martin Sulzmann, Simon Peyton Jones, and Manuel Chakravarty. Towards open type functions for Haskell. In O. Chitil, editor, Proceedings of the 19th International Symposium on Implemantation and Application of Functional Languages, pages 233--251, 2007.
23
 
24
Tim Sheard. Type-level computation using narrowing in Omega. In Proceedings of the Programming Languages meets Program Verification (PLPV 2006), volume 174 of Electronic Notes in Computer Science, pages 105--128, 2006.
25
26
 
27
Martin Sulzmann, Jeremy Wazny, and Peter J.Stuckey. A framework for extended algebraic data types. In Proc. of FLOPS'06, volume 3945 of LNCS, pages 47--64. Springer-Verlag, 2006.
28
 
29
 
30
Martin Sulzmann, Tom Schrijvers, and Peter Stuckey. Type inference for GADTs via Herbrand constraint abduction. Report CW 507, Department of Computer Science, K.U.Leuven, Leuven, Belgium, January 2008.
 
31
32


Collaborative Colleagues:
Tom Schrijvers: colleagues
Simon Peyton Jones: colleagues
Manuel Chakravarty: colleagues
Martin Sulzmann: colleagues