deriving-compat
Version 0.6.7 revision 0 uploaded by ryanglscott.
Package meta
- Synopsis
- Backports of GHC deriving extensions
- Description
deriving-compat
provides Template Haskell functions that mimicderiving
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
Deriving
Ord
Deriving
Read
Deriving
Show
DeriveFoldable
DeriveFunctor
DeriveTraversable
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.
In addition,
deriving-compat
also provides some additionalderiving
functionality that has not yet been merged into upstream GHC. Aside from the GHCderiving
extensions mentioned above,deriving-compat
also permits deriving instances of classes in theData.Functor.Classes
module, covering theEq1
,Eq2
,Ord1
,Ord2
,Read1
,Read2
,Show1
, andShow2
classes. This extra functionality is outside of the main scope ofderiving-compat
, as it does not backport extensions that exist in today's GHC. Nevertheless, the underlying Template Haskell machinery needed to deriveEq
and friends extends very naturally toEq1
and friends, so this extra functionality is included inderiving-compat
as a convenience.Note that some recent GHC typeclasses/extensions are not covered by this package:
DeriveDataTypeable
DeriveGeneric
, which was introducted in GHC 7.2 for derivingGeneric
instances, and modified in GHC 7.6 to allow derivation ofGeneric1
instances. UseGenerics.Deriving.TH
fromgeneric-deriving
to deriveGeneric(1)
using Template Haskell.DeriveLift
, which was introduced in GHC 8.0 for derivingLift
instances. UseLanguage.Haskell.TH.Lift
fromth-lift
to deriveLift
using Template Haskell.The
Bifunctor
typeclass, which was introduced in GHC 7.10, as well as theBifoldable
andBitraversable
typeclasses, which were introduced in GHC 8.2. UseData.Bifunctor.TH
frombifunctors
to derive these typeclasses using Template Haskell.
- Author
- Ryan Scott
- Bug reports
- https://github.com/haskell-compat/deriving-compat/issues
- Category
- Compatibility
- Copyright
- (C) 2015-2017 Ryan Scott
- Homepage
- https://github.com/haskell-compat/deriving-compat
- Maintainer
- Ryan Scott <ryan.gl.scott@gmail.com>
- Package URL
- n/a
- Stability
- Experimental