Monthly Downloads: 341
Programming language: Haskell
License: BSD 3-clause "New" or "Revised" License
Tags: Development     Compatibility    
Latest version: v0.5.10

deriving-compat alternatives and similar packages

Based on the "Compatibility" category.
Alternatively, view deriving-compat alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of deriving-compat or a related project?

Add another 'Compatibility' Package



Hackage Hackage Dependencies Haskell Programming Language BSD3 License Build

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, and Eq2
  • Deriving Ord, Ord1, and Ord2
  • Deriving Read, Read1, and Read2
  • Deriving Show, Show1, and Show2
  • 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.

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 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 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 bifunctors to derive these typeclasses using Template Haskell.

*Note that all licence references and agreements mentioned in the deriving-compat README section above are relevant to that project's source code only.