# derive-topdown

## derive-topdown-0.0.2.0

• 0.0.2.0
• Add deriving superclass functions. When you want to derive a class instance, not necessary to derive all its superclasses. derive-topdown-0.0.1.0

• 0.0.1.0
• Imporve error message.Will print the types list when type is not data or newtype defined.

## derive-topdown-0.0.0.9

• 0.0.0.9
• Changed API for strategy_derivng(s). Deriving strategy should be specified first as the default grammar of deriving.
• Provided deriving_with_breaks function so that one can specify the types that prevent further standalone deriving declarations from generating process. This is mainly for Generic class. See the test of deriving Generic for HsModule.
• Fixed Strategy deriving problem. Deriving with NewtypeStrategy on data type defined by data keyword will be ignored.
• Fixed problem with class context generation for phantom types. Phantom types will not be in the context now.
• Fixed ArrowT problem. It should be not a type variable and should appear in the context.
• Handled data constructor which contains explicit forall.
• Added test. It generates class instances for data types in template-haskell and haskell-src.

## derive-topdown-0.0.0.7

• 0.0.0.7 is a more carefully implemented version of derive-topdown. All APIs are totally changed compared with 0.0.0.2. Originally it did not work with types that contain type synonyms and polymorphic types. It can work for most common cases in this version now.

## derive-topdown-0.0.0.2

• Fixed some cabal file and API problems.

## derive-topdown-0.0.0.1

• This is only an experimental implementation for deriving class instances from top to bottom. There is a lot of deficiencies.