Changelog of @hackage/DrIFT-cabalized 2.3.0


  • Publish DrIFT in HackageDB.
  • Get less warning message.


  • redid build model, collect deriving rules automatically.


Mon Aug 14 19:22:26 PDT 2006 John Meacham

  • update autotools to make autoreconf work
  • update README to reflect there no longer being a 'reconf' script
  • get rid of recursive make in docs/ subdirectory

Thu Jan 25 21:04:02 PST 2007 John Meacham

  • add support for Data.Binary, move old Binary to BitsBinary


Mon Apr 10 00:39:24 PDT 2006 John Meacham

  • add note about reconf script
  • make the parser handle newtype deriving without bailing out
  • fix bug in Ord deriving rule

Wed Jan 18 03:59:21 PST 2006 David Roundy

  • fix typo in src/

Sun Nov 27 02:59:14 PST 2005

  • Change rule for Haskell2XmlNew into XmlContent, add Parse rule. The Haskell2XmlNew class was a temporary staging post on the way to developing a new XmlContent class, available in HaXml-1.14 onwards. This patch updates the name, and the rule, to match the latest developments. It also adds support for the textual (non-XML) Parse class, which is an experimental replacement for the Read class, using monadic parser combinators. This is also currently defined in HaXml-1.14.
  • docs should refer to StandardRules.hs, not .lhs
  • fix docs for Hugs usage
  • keep docs of --list option up-to-date

Tue Nov 15 18:09:40 PST 2005 Einar Karttunen

  • Hook Arbitrary into DrIFT proper
  • Add UserRuleArbitrary

Thu Nov 3 02:52:38 PST 2005 John Meacham

  • fix data derving for new versions of ghc


  • fix rpm building, autoconf and some general make issues
  • fix warnings in generated binary instances
  • fix autoconf warnings

Mon Sep 12 08:11:10 PDT 2005

  • support for Haskell2XmlNew The HaXml library Haskell2Xml has been extended to make secondary parsing of the generic XML content tree into a typed value more robust. An API change means that a new version of the class (unimaginatively called Haskell2XmlNew) exists, and this patch adds the ability to generate parsing code for the new class.
  • doc updates Fix some very out-of-date statements in the manual.

Tue May 31 16:17:12 PDT 2005 Samuel Bronson

  • avoid problems with hmake by invoking ghc -M directly
  • Default to GHC to avoid NHC's tiny heap


Tue Apr 19 21:09:13 PDT 2005 John Meacham

  • Be sure to flush handles pointing to files before quitting
  • fix off-by-one line number error
  • Remove reference to genconf
  • Updated GenUtil.hs to fix nhc build


  • added 'get' utility which creates foo_g for each label which returns its value in a failing monad rather than raising an error.
  • added 'from' utility which creates fromFoo for each constructors
  • no longer an error for DERIVEPATH to not be set
  • added -i to ignore directives in file. useful with -g and -r for testing
  • added 'Query' which creates from, get, has, and is functions, but in a class with an instance for the data type. useful for extensible data types
  • added deriving rule for 'Monoid'
  • added code subdirectory with support code


  • added rule for GhcBinary
  • now allows record syntax with newtype


  • 'update' functions now pass through values without the specified field
  • drift-ghc script added to be used with ghc by passing -pgmF drift-ghc -F
  • documentation updated.


  • deriving 'update' works with newer versions of ghc
  • fixed bug in Show and Read instances


  • fixed many warnings in generated code
  • support for strict fields in constructors
  • support for infix constructors


  • added help messages and categorization to rules
  • small isLiterate fix (TODO use nhcs deliterizer)
  • prints debug info in comment in chaseImports
  • code cleanups
  • integrated some changes from Strafunski 1.7
  • autoconf/automake improvements


  • fixed version strings in generated files
  • fix dependency generation
  • fixed example test cases


  • autoconf/automake added
  • texinfo is installed properly now
  • build system cleanups
  • works with both nhc and ghc again


  • new texinfo documentation, based on Noel's original manual.
  • new option '-r' to only emit results and not original source
  • new option '-g' to add new global rules to apply.
  • cleaned up old non haskell98-compliant hacks


  • proper GetOpt command line handling, allows you to specify an output file (-o) as well as list all possible derivations this version was compiled with (-l)
  • proper LINE pragmas in generated code
  • smarter error handling in some cases, parser smarter sometimes.
  • can deal with/ignore as appropriate some ghc extensions now
  • rules to derive Typeable used by the Dynamic library.
  • rules to derive Observable from the HOOD object debugger
  • rules to derive Term, a generic term representation for generic computation, can be used in a similar fashion to the Strafunski one, but has a number of advantages, fully lazy constant time implode/explode being the main one. (the external library is compatable with their work.)