ACM Home Page
Please provide us with feedback. Feedback
A theory of overloading
Full text PdfPdf (254 KB)
Source International Conference on Functional Programming archive
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming table of contents
Pittsburgh, PA, USA
Pages: 167 - 178  
Year of Publication: 2002
ISBN:1-58113-487-8
Also published in ...
Authors
Peter J. Stuckey  The University of Melbourne, Vic., Australia
Martin Sulzmann  The University of Melbourne, Vic., Australia
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 27,   Citation Count: 5
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/581478.581495
What is a DOI?

ABSTRACT

We present a minimal extension of the Hindley/Milner system to allow for overloading of identifiers. Our approach relies on a combination of the HM(X) type system framework with Constraint Handling Rules (CHRs). CHRs are a declarative language for writing incremental constraint solvers. CHRs allow us to precisely describe the relationships among overloaded identifiers. Under some sufficient conditions on the CHRs we achieve decidable type inference and the semantic meaning of programs is unambiguous. Our approach allows us to combine open and closed world overloading. We also show how to deal with overlapping definitions.


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 1330, pages 252--266. Springer-Verlag, 1997.
 
2
3
 
4
5
 
6
 
7
T. Frühwirth. Constraint handling rules. In Constraint Programming: Basics and Trends, LNCS 910. Springer-Verlag, 1995.
 
8
T. Frühwirth. A declarative language for constraint systems: Theory and practice of constraint handling rules, 1998. Habilitation.
 
9
T. Frühwirth. Theory and practice of constraint handling rules. Journal of Logic Programming, 37(1--3):95--138, 1998.
10
 
11
K. Glynn, P. Stuckey, and M. Sulzmann. Type classes and constraint handling rules. First Workshop on Rule-Based Constraint Reasoning and Programming, July 2000. http://xxx.lanl.gov/abs/cs.PL/0006034+.
 
12
M. Hanus. The integration of functions into logic programming: From theory to practice. Journal of Logic Programming, 19&20:583--628, 1994.
 
13
The Mercury language reference manual, 2001. http://www.cs.mu.oz.au/research/mercury/+.
 
14
D. Jeffery, F. Henderson, and Z. Somogyi. Type classes in Mercury. In Proc. of 23rd Australasian Computer Science Conf., pages 128--135. IEEE Press, 2000.
 
15
 
16
M. P. Jones. Coherence for qualified types. Research Report YALEU/DCS/RR-989, Yale University, Department of Computer Science, September 1993.
17
18
 
19
 
20
S. Peyton Jones, M. P. Jones, and E. Meijer. Type classes: an exploration of the design space. In Haskell Workshop, June 1997.
 
21
22
 
23
R. Milner. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348--375, Dec 1978.
 
24
T. Nipkow and C. Prehofer. Type reconstruction for type classes. Journal of Functional Programming, 5(2):201--224, 1995.
 
25
26
 
27
S. Peyton Jones et al. Report on the programming language Haskell 98. http://haskell.org.
 
28
M.J. Plasmeijer and M.C.J.D. van Eekelen. Language report Concurrent Clean. Tech. Report CSI-R9816, University of Nijmegen, June 1998. ftp://ftp.cs.kun.nl/pub/Clean/Clean13/doc/refman13.ps.gz+.
 
29
M. Shields and S. Peyton Jones. Object-oriented overloading for Haskell. In Workshop on Multi-Language Infrastructure and Interoperability, September 2001.
 
30
P. J. Sulzmann and M. Sulzmann. A theory of overloading. Technical report 2002/2, The University of Melbourne, 2002. http://www.cs.mu.oz.au/~sulzmann/chr/+.
 
31
M. Sulzmann and A. Rossberg. A theory of overloading part II: semantics and coherence. Technical report 2002/1, The University of Melbourne, 2002. http://www.cs.mu.oz.au/~sulzmann/chr/+.
 
32
M. Sulzmann, A. Rossberg and J. Wazny. The Chameleon language manual. http://www.cs.mu.oz.au/~sulzmann/chameleon+.
 
33
M. Sulzmann and A. Rossberg. Beyond type classes. Working paper. www.cs.mu.oz.au/~sulzmann/chr/+.
 
34
35
36


Collaborative Colleagues:
Peter J. Stuckey: colleagues
Martin Sulzmann: colleagues