@hackage deriving-compat0.3.4
Backports of GHC deriving extensions
Installation
Tested Compilers
Dependencies (7)
- base >=4.3 && <4.9
- containers >=0.1 && <0.6
- ghc-boot-th
- ghc-prim
- template-haskell >=2.5 && <2.11
- transformers >=0.2 && <0.4 || >=0.5 Show all…
Dependents (34)
@hackage/swarm, @hackage/prologue, @hackage/commonmark-initial, @hackage/pandoc-symreg, @hackage/aws-arn, @hackage/jsonnet, Show all…
Package Flags
base-4-9
(on by default)
Use base-4.9 or later.
template-haskell-2-11
(on by default)
Use template-haskell-2.11.0.0 or later.
new-functor-classes
(on by default)
Use a version of transformers or transformers-compat with a modern-style Data.Functor.Classes module. This flag cannot be used when building with transformers-0.4, since it comes with a different version of Data.Functor.Classes.
deriving-compat
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:
- Deriving
Bounded - Deriving
Enum - Deriving
Ix - Deriving
Eq,Eq1, andEq2 - Deriving
Ord,Ord1, andOrd2 - Deriving
Read,Read1, andRead2 - Deriving
Show,Show1, andShow2 DeriveFoldableDeriveFunctorDeriveTraversable
See the Data.Deriving module for a full list of backported changes.
Note that some recent GHC typeclasses/extensions are not covered by this package:
DeriveDataTypeableDeriveGeneric, which was introducted in GHC 7.2 for derivingGenericinstances, and modified in GHC 7.6 to allow derivation ofGeneric1instances. UseGenerics.Deriving.THfromgeneric-derivingto deriveGeneric(1)using Template Haskell.DeriveLift, which was introduced in GHC 8.0 for derivingLiftinstances. UseLanguage.Haskell.TH.Liftfromth-liftto deriveLiftusing Template Haskell.- The
Bifunctortypeclass, which was introduced in GHC 7.10, as well as theBifoldableandBitraversabletypeclasses, which were introduced in GHC 8.2. UseData.Bifunctor.THfrombifunctorsto derive these typeclasses using Template Haskell.