https://bugzilla.redhat.com/show_bug.cgi?id=2262768
Bug ID: 2262768 Summary: Review Request: ghc-deriving-compat - Backports of GHC deriving extensions Product: Fedora Version: rawhide Status: NEW Component: Package Review Assignee: nobody@fedoraproject.org Reporter: frank@systemf.dev QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org Target Milestone: --- Classification: Fedora
Spec URL: https://fdedden.fedorapeople.org/ghc-deriving-compat.spec SRPM URL: https://fdedden.fedorapeople.org/ghc-deriving-compat-0.6.5-1.fc40.src.rpm
Description: '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'
* 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 additional 'deriving' functionality that has not yet been merged into upstream GHC. Aside from the GHC 'deriving' extensions mentioned above, 'deriving-compat' also permits deriving instances of classes in the 'Data.Functor.Classes' module, covering the 'Eq1', 'Eq2', 'Ord1', 'Ord2', 'Read1', 'Read2', 'Show1', and '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 convenience.
Note that some recent GHC typeclasses/extensions are not covered by this package:
* 'DeriveDataTypeable'
* 'DeriveGeneric', which was introducted in GHC 7.2 for deriving 'Generic' instances, and modified in GHC 7.6 to allow derivation of 'Generic1' instances. Use 'Generics.Deriving.TH' from '<http://hackage.haskell.org/package/generic-deriving generic-deriving>' to derive 'Generic(1)' using Template Haskell.
* 'DeriveLift', which was introduced in GHC 8.0 for deriving 'Lift' instances. Use 'Language.Haskell.TH.Lift' from '<http://hackage.haskell.org/package/th-lift th-lift>' to derive 'Lift' using Template Haskell.
* The 'Bifunctor' typeclass, which was introduced in GHC 7.10, as well as the 'Bifoldable' and 'Bitraversable' typeclasses, which were introduced in GHC 8.2. Use 'Data.Bifunctor.TH' from 'http://hackage.haskell.org/package/bifunctors bifunctors' to derive these typeclasses using Template Haskell.
Fedora Account System Username: fdedden