ACM Home Page
Please provide us with feedback. Feedback
Extracting programs from type class proofs
Full text PdfPdf (251 KB)
Source International Conference on Principles and Practice of Declarative Programming archive
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming table of contents
Venice, Italy
SESSION: Types table of contents
Pages: 97 - 108  
Year of Publication: 2006
ISBN:1-59593-388-3
Author
Martin Sulzmann  National University of Singapore, Singapore
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 16,   Citation Count: 2
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/1140335.1140348
What is a DOI?

ABSTRACT

Standard presentations of type class translation schemes exhibit some surprising problems when translating Haskell 98 programs. We suggests ways how to fix these problems based on a formal framework for extracting programs from type class proofs. Our description includes type improvement and recursive dictionaries -- something which has not been formally studied before. Thus, we are able to advance the state of art of translating type classes and open up the possibility for new type class applications.


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
S. Abdennadher. Operational semantics and confluence of constraint propagation rules. In Proc. of CP'97, LNCS, pages 252--266. Springer-Verlag, 1997.
2
 
3
4
 
5
 
6
G. J. Duck, S. Peyton Jones, P. J. Stuckey, and M. Sulzmann. Sound and decidable type inference for functional dependencies. In Proc. of ESOP'04, volume 2986 of LNCS, pages 49--63. Springer-Verlag, 2004.
 
7
 
8
T. Frühwirth. Constraint handling rules. In Constraint Programming: Basics and Trends, LNCS. Springer-Verlag, 1995.
 
9
Glasgow haskell compiler home page. http://www.haskell.org/ghc/.
10
 
11
R. Harper, F. Honsell, and G. Plotkin. A Framework for Defining Logics. In Proceedings 2nd Annual IEEE Symp. on Logic in Computer Science, LICS'87, pages 194--204. IEEE Computer Society Press, 1987.
 
12
F. Henderson et al. The Mercury language reference manual, 2001. http://www.cs.mu.oz.au/research/mercury/.
 
13
W.A. Howard. The formulae-as-types notion of construction. In J.P. Seldin and J.R. Hindley, editors, To H. B. Curry: Essays on Combinatory Logic, λ Calculus and Formalism, pages 479--490. Academic Press, 1980.
 
14
Hugs home page. haskell.cs.yale.edu/hugs/.
 
15
D. Jeffery, F. Henderson, and Z. Somogyi. Type classes in Mercury. In Proc. Twenty-Third Australasian Computer Science Conf., volume 22 of Australian Computer Science Communications, pages 128--135. IEEE Computer Society Press, January 2000.
16
17
 
18
 
19
20
 
21
 
22
K. Z. M. Lu and M. Sulzmann. An implementation of subtyping among regular expression types. In Proc. of APLAS'04, LNCS, pages 57--73. Springer-Verlag, 2004.
 
23
 
24
R. Milner. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348--375, Dec 1978.
25
 
26
S. Peyton Jones. Haskell 98 Language and Libraries: The Revised Report, 2003. Also see http://www.haskell.org/definition/.
 
27
S. Peyton Jones, M. P. Jones, and E. Meijer. Type classes: an exploration of the design space. In Haskell Workshop, June 1997.
 
28
M.J. Plasmeijer and M.C.J.D. van Eekelen. Language report Concurrent Clean. Technical Report CSI-R9816, Computing Science Institute, University of Nijmegen, Nijmegen, The Netherlands, June 1998. ftp://ftp.cs.kun.nl/pub/Clean/Clean13/doc/refman13.ps.gz.
 
29
F. Pottier, 2004. personal communication.
 
30
Z. Shao. An overview of the FLINT/ML compiler. In Proc. of ACM SIGPLAN Workshop on Types in Compilation (TIC'97), 1997.
31
 
32
J.R. Shoenfield. Mathematical Logic. Addison-Wesley, 1967.
33
 
34
M. Sulzmann and J. Wazny. Chameleon. http://www.comp.nus.edu.sg/~sulzmann/chameleon.
35
36
 
37
S. Wehr, 2005. http://www.haskell.org//pipermail/haskell/2005-October/016695.html.
 
38