The DrIFT-cabalized package

[Tags: bsd3, deprecated, program]

Deprecated in favor of DrIFT

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.2.3.1,,, 2.2.4, 2.3.0
Change logChangeLog
Dependenciesbase (<4), old-time, process, random [details]
AuthorNoel Winstanley, John Meacham <>
CategoryData Structures
Home page
Source repositoryhead: darcs get
ExecutablesDrIFT-cabalized-ghc, DrIFT-cabalized
UploadedMon May 10 21:51:37 UTC 2010 by GwernBranwen
Downloads1205 total (24 in last 30 days)
0 []
StatusDocs not available [build log]
All reported builds failed as of 2015-11-14 [all 3 reports]


Maintainers' corner

For package maintainers and hackage trustees

Readme for DrIFT-cabalized-



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

The current homepage is at:


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


If you have pulled the source from the darcs repository, you must first build
the autotools scripts by running

 $ autoreconf -i

To configure and install DrIFT from source or from Hackage, you have two options.


You can install through the GNU Autools, like thus:

  $ ./configure --prefix=<dir>
  $ make install

Where <dir> is the directory in which you want to install the tool. Note that
a Haskell compiler (NHC or GHC) must be in your path. Otherwise, supply the
location of a Haskell compiler as follows:

  $ ./configure --prefix=<dir> --with-hc=<Haskell compiler>
  $ make install


You can also install through Cabal, the standard Haskell packaging tool with the usual set of commands:

      $ runhaskell Setup configure # optional --user --prefix=/home/user/bin
      $ runhaskell Setup build
      $ runhaskell Setup install # --user

(Remember, from Darcs requires autoreconf to have been run! If you are installing from Hackage, autoreconf should have already been run in the source tarball.)


You may optionally set the environmental variable $DERIVEPATH to the list of directories you wish to search for modules.

An example:


to run DrIFT, simply pass the Haskell file name as an argument. You may run
'DrIFT --help' to get a summary of the various command line options