|
ABSTRACT
This article discusses the problem of constraint-set satisfiability (CSSAT) --- that is, the problem of determining whether a given constraint-set is satisfiable in a given typing context --- in the context of systems with support for overloading and parametric polymorphism. The paper reviews previous works on constraint-set satisfiability, showing that overloading policies used in order to guarantee decidability of CSSAT have been generally too restrictive. An algorithm is proposed that does not impose a severe restriction on possible overloadings and decides CSSAT in an expectedly vast majority of cases of practical interest. In cases for which satisfiability cannot be decided, a configurable limit on the number of iterations is used to guarantee termination.
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
|
Kung Chen , Paul Hudak , Martin Odersky, Parametric type classes, Proceedings of the 1992 ACM conference on LISP and functional programming, p.170-181, June 22-24, 1992, San Francisco, California, United States
|
 |
3
|
|
| |
4
|
Lucília Figueiredo, Carlos Camarão and Cristiano Vasconcellos. Constraint-set Satisfiability for Overloading. Technical report, UFMG, 2003.
|
| |
5
|
Fergus Henderson, David Jeffery and Zoltan Zomogyi. Type Classes in Mercury. Technical Report 98/13, University of Melbourne, 1998.
|
| |
6
|
Bart Demoen, María García de la Banda, and Peter J. Stuckey. Type Constraint Solving for Parametric and Ad-hoc Polymorphism. In Proceedings of the 22nd Australasian Computer Science Conference, 1999.
|
| |
7
|
|
| |
8
|
|
| |
9
|
|
 |
10
|
|
 |
11
|
|
| |
12
|
Daan Leijen and Erik Meijer. Parsec: Direct Style Monadic Parser Combinators for the Real World. Technical Report UU-CS-2001-35, Department of Computer Science, Universiteit Utrecht, 2001. http://www.cs.uu.nl/~daan/parsec.html.
|
| |
13
|
Mark Jones. Qualified Types. Cambridge University Press, 1994.
|
| |
14
|
Mark Jones. A system of constructor classes: overloading and higher-order polymorphism. Journal of Functional Programming, 5(1):1--36, 1995.
|
 |
15
|
|
| |
16
|
Mark Jones. Typing Haskell in Haskell. In Proceedings of the 1999 Haskell Workshop. Published in Technical Report UU-CS-1999-28, Department of Computer Science, University of Utrecht. Available at http://www.cse.ogi.edu/~mpj/thih/
|
| |
17
|
|
| |
18
|
Robin Milner. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348--375, 1978.
|
| |
19
|
|
| |
20
|
|
| |
21
|
Tobias Nipkow and Christian Prehofer. Type Reconstruction for Type Classes. Journal of Functional Programming, 1(1):1--100, 1993.
|
 |
22
|
Martin Odersky , Philip Wadler , Martin Wehr, A second look at overloading, Proceedings of the seventh international conference on Functional programming languages and computer architecture, p.135-146, June 26-28, 1995, La Jolla, California, United States
[doi> 10.1145/224164.224195]
|
 |
23
|
|
| |
24
|
|
| |
25
|
Mark Shields and Simon Peyton Jones. Object-oriented style overloading for Haskell. In Workshop on Multi-Language Infrastructure and Interoperability (BABEL'01), 2001. Available at http://haskell.readscheme.org/lang_sem.html.
|
| |
26
|
|
| |
27
|
|
 |
28
|
|
| |
29
|
Cristiano Vasconcellos, Lucília Figueiredo, and Carlos Camarão. A Practical Type Inference for Polymorphic Recursion using Haskell. Journal of Universal Computer Science, 9(8):873--890, 2003.
|
| |
30
|
Dennis Volpano. Haskell-style Overloading is NP-hard. In Proceedings of the 1994 International Conference on Computer Languages, pages 88--95, 1994.
|
| |
31
|
|
| |
32
|
|
 |
33
|
|
|