MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Programming Systems

Download:
pdf | ps
by Andreas Rossberg, Martin Sulzmann
http://www.ps.uni-sb.de/Papers/abstracts/btclasses.ps
Add To MetaCart

Abstract:

We discuss type classes in the context of the Chameleon language, a Haskell-style language where overloading resolution is expressed in terms of the meta-language of Constraint Handling Rules (CHRs). In a first step, we show how to encode Haskell's single-parameter type classes into Chameleon. The encoding works by providing an approrpriate set of CHRs which mimic the Haskell conditions. We also consider constructor classes, multi-parameter type classes and functional dependencies. Chameleon provides a testbed to experiment with new overloading features. We show how some novel features such as universal quantification in context can naturally be expressed in Chameleon. 1.

Citations

267 How to make ad-hoc polymorphism less ad-hoc – Wadler, Blott - 1989
164 A system of constructor classes: Overloading and implicit higher-order polymorphism – Jones - 1993
146 Cayenne - a Language with Dependent Types – Augustsson - 1998
115 Qualified types: Theory and practice – Jones - 1992
105 Type classes with functional dependencies – Jones - 2000
71 Type classes: an exploration of the design space – Jones, Jones, et al. - 1997
70 Type inference for records in a natural extension of ML – Rémy - 1993
67 A polymorphic record calculus and its compilation – Ohori - 1995
56 A Polymporphic Type System for Extensible Records and Variants – Gaster, Jones - 1996
42 Parametric overloading in polymorphic programming languages – Kaes - 1988
41 A generic programming extension for Haskell – Hinze - 1999
38 Parametric Type Classes – Chen, Hudak, et al. - 1992
37 Garca de la – Demoen, M - 1999
33 A theory of overloading – Stuckey, Sulzmann
31 et al. Report on the programming language Haskell 98 – Jones, Hughes - 1999
15 Type classes in Mercury – Jeffery, Henderson, et al. - 2000
15 Dependently Typed Data Structures – Xi - 1999
14 Language reportConcurrent Clean – Plasmeijer, Eekelen - 1998
12 A functional notation for functional dependencies – Neubauer, Thiemann, et al. - 2001
11 Functional logic overloading – Gasbichler, Neubauer, et al. - 2002
9 An overview of Edison – Okasaki - 2000
7 Restricted data types in Haskell – Hughes - 1999
4 et al. The Mercury language reference manual – Henderson - 2001
3 A theory of overloading part II: semantics and coherence – Sulzmann, Rossberg - 2002
1 Fun with functional dependencies or (draft) types as values in static computations in haskell – Hallgren - 2001
1 The Chameleon Language Manual – Sulzmann - 2002