The DrIFT package

[ Tags: bsd3, data-structures, library, program ] [ Propose Tags ]

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]


Versions 2.4.0, 2.4.1, 2.4.2
Change log Changelog
Dependencies base (>=4.0 && <5), DrIFT, filepath, old-time, process, random [details]
License BSD3
Author Noel Winstanley, John Meacham <>
Maintainer gwern <>, Metasepi team <>
Category Data Structures
Home page
Source repo head: git clone
Uploaded Mon Nov 11 15:35:32 UTC 2013 by KiwamuOkabe
Distributions Debian:2.2.3, NixOS:2.4.2
Executables drift-ghc, DrIFT
Downloads 2519 total (47 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for DrIFT-2.4.2

[back to package description]

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:

  • src: Directory with the source files of the DrIFT tool
  • example: Directory with examples of using the DrIFT tool
  • docs: Documentation

How to install

To configure and install DrIFT from the source tarball

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