The DrIFT package

[Tags: bsd3, library, program]

Data.Derive is good another solution for DrFIT. But DrFIT is Haskell 98 compliant, derive is not.

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.

This package was cabalized by gwern

[Skip to ReadMe]


Versions2.4.0, 2.4.1, 2.4.2
Change logChangelog
Dependenciesbase (>=4.0 && <5), DrIFT, filepath, old-time, process, random [details]
AuthorNoel Winstanley, John Meacham <>
Maintainergwern <>, Metasepi team <>
CategoryData Structures
Home page
Source repositoryhead: git clone
Executablesdrift-ghc, DrIFT
UploadedMon Nov 11 15:35:32 UTC 2013 by KiwamuOkabe
Downloads1577 total (5 in last 30 days)
0 []
StatusDocs available [build log]
Successful builds reported [all 1 reports]




Maintainers' corner

For package maintainers and hackage trustees

Readme for DrIFT-2.4.2

DrIFT Build Status

This package contains a source distribution of DrIFT, a tool for automatic derivation of Haskell class instances. DrIFT was formerly known as Derive.

The original homepage is at But this DrIFT package has some changes with original DrIFT.

Contents of this package:

How to install

To configure and install DrIFT from the source tarball

$ autoreconf -i
$ ./configure
$ make cabal-install