Departmental Papers (CIS)

Date of this Version

September 2006

Document Type

Conference Paper

Comments

Postprint version. Published in Proceedings of the 2006 ACM SIGPLAN workshop on Haskell, September 2006, pages 1-12.
Publisher URL: http://doi.acm.org/10.1145/1159842.1159844

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 types. 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.

Keywords

generic programming, representation type, Haskell, type class

Share

COinS
 

Date Posted: 04 March 2008

This document has been peer reviewed.