Interface Types for Haskell
Authors: Peter Thiemann and Stefan Wehr
In Proceedings of the Sixth ASIAN Symposium on Programming Languages and Systems. 2008.
Abstract
Interface types are a useful concept in object-oriented programming languages like Java or C#. A clean programming style advocates relying on interfaces without revealing their implementation.Haskell's type classes provide a closely related facility for stating an interface separately from its implementation. However, there are situations in which no simple mechanism exists to hide the identity of the implementation type of a type class. This work provides such a mechanism through the integration of lightweight interface types into Haskell.
The extension is non-intrusive as no additional syntax is needed and no existing programs are affected. The implementation extends the treatment of higher-rank polymorphism in production Haskell compilers.
Bibtex
@INPROCEEDINGS{ThiemannWehr2008,
author = {Peter Thiemann and Stefan Wehr},
title = {Interface Types for Haskell},
booktitle = {Proceedings of the Sixth ASIAN Symposium on Programming Languages and Systems},
year = 2008
}
Resources
- Preprint: .pdf (© Springer-Verlag)
- Implementation
Last modified: 2008-12-01T14:18:54+01:00