Projects / DrIFT

DrIFT

DrIFT is a type sensitive preprocessor for Haskell. It extracts type declarations and directives from modules and applies rules to them which generate code. 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 separate modules to that containing the type declaration. This allows instances to be derived for a type after the original module has been compiled. Simple utility functions can also be produced from a type.

Tags
Licenses
Implementation

RSS Recent releases

Release Notes: Numerous enhancements and bugfixes.

Release Notes: A derivation rule for instances of GhcBinary was added. Record syntax is now allowed on newtype declarations. The 'drift-ghc' script was added to make DrIFT easier to use from ghc, and the instances generated for 'update' have been improved.

Release Notes: Deriving 'update' now works with newer versions of ghc. A bug in the precedences specified in derived Show and Read instances was fixed. The generated code no longer produces spurious warnings. Support for strict fields and infix constructors was added.

  •  15 May 2003 03:48

Release Notes: This version adds help messages and categorization to rules, a small isLiterate fix, printing of debug info in a comment in chaseImports, code cleanups, some changes from Strafunski 1.7, and some autoconf/ automake improvements.

Release Notes: All development branches have been merged into one project. This is an autoconf/automake directed build, tested with nhc and ghc.

Screenshot

Project Spotlight

Concurrency Kit

A library of synchronization primitives and concurrent data structures for specific update-heavy workloads.

Screenshot

Project Spotlight

libnetfilter_log

A library for userspace access to packets logged by the Linux kernel packet filt