drift-ghc

type sensitive preprocessor for Haskell

Install

All systems
curl cmd.cat/drift-ghc.sh
Ubuntu
apt-get install drift
Windows (WSL2)
sudo apt-get update sudo apt-get install drift
Raspbian
apt-get install drift

drift

type sensitive preprocessor for Haskell

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. As a bonus, simple utility functions can also be produced from a type. Features: - DrIFT comes with a set of rules to produce instances for all derivable classes given in the Haskell Prelude. There are also a number of extra useful rules to derive instances of a variety of useful classes. - DrIFT performs import chasing to find the definition of a type. - Code is generated using pretty-printing combinators. This means that the output is (fairly) well formatted, and easy on the eye. - Effort has been made to make the rule interface as easy to use as possible. This is to allow users to add rules to generate code specific to their own projects. As the rules are themselves written in Haskell, the user doesn't have to learn a new language to express rules.