DrIFT is a type sensitive preprocessor for Haskell. It extracts type
declarations and directives from modules. The directives cause rules to be
fired on the parsed type declarations, generating new code which is then
appended to the bottom of the input file. The rules are expressed as Haskell
code, and it is intended that the user can add new rules as required.

DrIFT automates instance derivation for classes that aren't supported by the
standard compilers. In addition, instances can be produced in seperate modules
to that containing the type declaration. This allows instances to be derived
for a type after the original module has been compiled. As a bonus, simple
utility functions can also be produced from a type.

WWW: http://repetae.net/john/computer/haskell/DrIFT/

-- Oliver Braun
obraun@informatik.unibw-muenchen.de
