Man Linux: Main Page and Category List

NAME

       DrIFT - a type sensitive preprocessor for Haskell

SYNOPSIS

       DrIFT [ options ...  ] file ...

DESCRIPTION

       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
       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.

       -v, --verbose
              chatty output on stderr

       -V, --version
              show version number

       -l, --list
              list available derivations

       -L, --noline
              omit line pragmas from output

       -o FILE, --output=FILE
              output FILE

       -s name:value, --set=name:value
              set argument to value

       -r, --results-only
              output only results, do not include source file

       -g rule, --global=rule
              addition rules to apply globally

       -i, --ignore
              ignore directives in file, which is useful with -g

ENVIRONMENT

       The environment variable DERIVEPATH can be used to declare  a  list  of
       directories which contain the modules and/or interfaces that define the
       additional classes you wish to derive from.  DrIFT is quite fussy about
       the  format of the DERIVEPATH variable.  The directory list should have
       the following format:

              * each path should be separated by ‘:’
              * no space inserted anywhere
              * no final ‘/’ on the end of a path

       Examples of DERIVEPATH settings:
       good                                                                  -
       /users/grad/nww/share/hugs/lib:/users/grad/nww/share/hugs/lib/hugs
       bad                                                                   -
       /users/grad/nww/share/hugs/lib/:/users/grad/nww/share/hugs/lib/hugs/

COPYRIGHT

       © 2002 – 2004 DrIFT contributors

       Permission is hereby granted, free of charge, to any person obtaining a
       copy   of   this  software  and  associated  documentation  files  (the
       "Software"), to deal in the  Software  without  restriction,  including
       without  limitation  the  rights  to use, copy, modify, merge, publish,
       distribute, sublicense, and/or sell copies  of  the  Software,  and  to
       permit  persons  to whom the Software is furnished to do so, subject to
       the following conditions:

       The above copyright notice and this permission notice shall be included
       in all copies or substantial portions of the Software.

       THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
       OR  IMPLIED,  INCLUDING  BUT  NOT  LIMITED   TO   THE   WARRANTIES   OF
       MERCHANTABILITY,  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
       IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE  LIABLE  FOR  ANY
       CLAIM,  DAMAGES  OR  OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
       TORT OR OTHERWISE, ARISING FROM, OUT  OF  OR  IN  CONNECTION  WITH  THE
       SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

SEE ALSO

       drift-ghc(1), ghc(1),

AUTHOR

       This  manual  page  was written by Arjan Oosting <arjanoosting@home.nl>
       for the Debian system (but may be used by others).