Provides Template Haskell functions that mimic deriving extensions that were introduced or modified in recent versions of GHC. Currently, the following typeclasses/extensions are covered:
GeneralizedNewtypeDeriving(with GHC 8.2 or later)
DerivingVia(with GHC 8.2 or later)
Data.Deriving module for a full list of backported changes.
Note that some recent GHC typeclasses/extensions are not covered by this package:
DeriveGeneric, which was introducted in GHC 7.2 for deriving
Genericinstances, and modified in GHC 7.6 to allow derivation of
Generic(1)using Template Haskell.
DeriveLift, which was introduced in GHC 8.0 for deriving
Liftusing Template Haskell.
Bifunctortypeclass, which was introduced in GHC 7.10, as well as the
Bitraversabletypeclasses, which were introduced in GHC 8.2. Use
bifunctorsto derive these typeclasses using Template Haskell.