RepLib: a library for derivable type classes

  • Authors:
  • Stephanie Weirich

  • Affiliations:
  • University of Pennsylvania

  • Venue:
  • Proceedings of the 2006 ACM SIGPLAN workshop on Haskell
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Some type class instances can be automatically derived from the structure of types. As a result, the Haskell language includes the "deriving" mechanism to automatic generates such instances for a small number of built-in type classes. In this paper, we present RepLib, a GHC library that enables a similar mechanism for arbitrary type classes. Users of RepLib can define the relationship between the structure of a datatype and the associated instance declaration by a normal Haskell functions that pattern-matches a representation type. Furthermore, operations defined in this manner are extensible-instances for specific types not defined by type structure may also be incorporated. Finally, this library also supports the definition of operations defined by parameterized types.