Type Classes and Constraint Handling Rules
Abstract
Type classes are an elegant extension to traditional, Hindley-Milner based typing systems. They are used in modern, typed languages such as Haskell to support controlled overloading of symbols. Haskell 98 supports only single-parameter and constructor type classes. Other extensions such as multi-parameter type classes are highly desired but are still not officially supported by Haskell. Subtle issues arise with extensions, which may lead to a loss of feasible type inference or ambiguous programs. A proper logical basis for type class systems seems to be missing. Such a basis would allow extensions to be characterised and studied rigorously. We propose to employ Constraint Handling Rules as a tool to study and develop type class systems in a uniform way.
Cite
@article{arxiv.cs/0006034,
title = {Type Classes and Constraint Handling Rules},
author = {Kevin Glynn and Martin Sulzmann and Peter J. Stuckey},
journal= {arXiv preprint arXiv:cs/0006034},
year = {2007}
}
Comments
14 pages, Workshop on Rule-Based Constraint Reasoning and Programming (http://www.informatik.uni-muenchen.de/~fruehwir/cl2000r.html)