deriving-compat: Backports of GHC deriving extensions
deriving-compat provides Template Haskell functions that
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)
See the Data.Deriving module for a full list of backported changes.
deriving-compat also provides some additional
deriving functionality that has not yet been merged into
upstream GHC. Aside from the GHC
deriving-compat also permits deriving
instances of classes in the
Show2 classes. This extra
functionality is outside of the main scope of
deriving-compat, as it does not backport extensions that
exist in today's GHC. Nevertheless, the underlying Template
Haskell machinery needed to derive
Eq and friends
extends very naturally to
Eq1 and friends, so this extra
functionality is included in
deriving-compat as a
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.
[Skip to Readme]
Use base-4.9 or later.
Use template-haskell-22.214.171.124 or later.
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.
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
- deriving-compat-0.6.5.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
|Versions [RSS]||0.1, 0.2, 0.2.1, 0.2.2, 0.3, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.4, 0.4.1, 0.4.2, 0.4.3, 0.5, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5.6, 0.5.7, 0.5.8, 0.5.9, 0.5.10, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.6.4, 0.6.5 (info)|
|Dependencies||base (>=4.3 && <5), containers (>=0.1 && <0.8), ghc-boot-th, ghc-prim, semigroups (>=0.6 && <0.21), template-haskell (>=2.5 && <2.22), th-abstraction (>=0.4 && <0.7), transformers (>=0.2 && <0.7), transformers-compat (>=0.5) [details]|
|Copyright||(C) 2015-2017 Ryan Scott|
|Maintainer||Ryan Scott <firstname.lastname@example.org>|
|Revised||Revision 1 made by ryanglscott at 2023-09-30T12:09:11Z|
|Source repo||head: git clone https://github.com/haskell-compat/deriving-compat|
|Uploaded||by ryanglscott at 2023-08-06T17:20:36Z|
|Distributions||Arch:0.6.5, Debian:0.5.9, LTSHaskell:0.6.5, NixOS:0.6.5, Stackage:0.6.5|
|Reverse Dependencies||24 direct, 43 indirect [details]|
|Downloads||43356 total (324 in the last 30 days)|
|Rating||(no votes yet) [estimated by Bayesian average]|
|Status||Docs uploaded by user
Build status unknown [no reports yet]