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

Last modified: 2008-12-01T14:18:54+01:00