𝔖 Bobbio Scriptorium
✦   LIBER   ✦

Object-Oriented Style Overloading for Haskell (Extended Abstract)

✍ Scribed by Mark Shields; Simon Peyton Jones


Publisher
Elsevier Science
Year
2001
Tongue
English
Weight
992 KB
Volume
59
Category
Article
ISSN
1571-0661

No coin nor oath required. For personal study only.

✦ Synopsis


Haskell has a sophisticated mechanism for overloading identifiers with multiple definitions at distinct types. Object-oriented programming has a similar notion of overriding and overloading for methods names. Unfortunately, it is not possible to encode object-oriented overloading directly using Haskell overloading. This deficiency becomes particularly tiresome when Haskell programs wish to call methods imported from an object-oriented library.

We present two refinements of Haskell's type class system: Closed classes and overlapping instances. We demonstrate how we may exploit the refined system so as to be able to encode object-oriented classes within Haskell. This encoding allows us to mimic, within Haskell, the overloading resolution rules employed by object-oriented languages without the need for additional type annotations or name mangling. As a consequence, object-oriented class libraries are very convenient to import and use within Haskell.


πŸ“œ SIMILAR VOLUMES