lift-generics-0.2.1: lift-generics.cabal
name: lift-generics
version: 0.2.1
synopsis: GHC.Generics-based Language.Haskell.TH.Syntax.lift implementation
description: This package provides a "GHC.Generics"-based @genericLift@
function (only available on GHC 7.4 and later), as well as
a @genericLiftWithPkgFallback@ function (for code that
must support GHC 7.2 and earlier) and a
@genericLiftWithPkg@ function (for use when neither of the
above will work), all of which can be used for providing a
@Language.Haskell.TH.Syntax.lift@ implementation. See the
documentation in the "Language.Haskell.TH.Lift.Generics"
module to get started.
.
Credit goes to Matthew Pickering for
<https://ghc.haskell.org/trac/ghc/ticket/1830#comment:12 suggesting this idea>.
.
Note that due to API limitations, "GHC.Generics" wasn't
powerful enough to come up with the entirety of a `lift`
implementation prior to GHC 8.0. For GHC 7.4 and later, we
can pluck this information out of `Typeable`. For earlier
versions, and where `Typeable` isn't available,
@genericLiftWithPkg@ requires you to produce the package
name yourself, which proves to be no small feat (see the
documentation for more info).
.
Luckily, you don't have to jump through as many hoops on GHC 7.4 and
later: simply use the @genericLift@ function, and life is good.
homepage: https://github.com/RyanGlScott/lift-generics
bug-reports: https://github.com/RyanGlScott/lift-generics/issues
license: BSD3
license-file: LICENSE
author: Ryan Scott
maintainer: Ryan Scott <ryan.gl.scott@gmail.com>
stability: Experimental
copyright: (C) 2015-2017 Ryan Scott
category: Language
build-type: Simple
tested-with: GHC == 7.0.4
, GHC == 7.2.2
, GHC == 7.4.2
, GHC == 7.6.3
, GHC == 7.8.4
, GHC == 7.10.3
, GHC == 8.0.2
, GHC == 8.2.2
, GHC == 8.4.4
, GHC == 8.6.5
, GHC == 8.8.4
, GHC == 8.10.4
, GHC == 9.0.1
extra-source-files: CHANGELOG.md, README.md
cabal-version: >=1.10
source-repository head
type: git
location: https://github.com/RyanGlScott/lift-generics
library
exposed-modules: Language.Haskell.TH.Lift.Generics
if (impl(ghc >= 7.4) && impl(ghc < 8.0))
other-modules: Language.Haskell.TH.Lift.Generics.Internal.OuterTypeable
build-depends: base >= 4.3 && < 5
, generic-deriving >= 1.9 && < 2
, ghc-prim
, template-haskell >= 2.4 && < 2.18
, th-compat >= 0.1 && < 0.2
if (impl(ghc >= 7.4) && impl(ghc < 7.8))
build-depends: tagged >= 0.5 && < 0.9
hs-source-dirs: src
default-language: Haskell2010
ghc-options: -Wall
test-suite spec
type: exitcode-stdio-1.0
main-is: Spec.hs
other-modules: LiftGenericsSpec
Types
Paths_lift_generics
build-depends: base >= 4.3 && < 5
, base-compat >= 0.8.2 && < 1
, containers >= 0.1 && < 0.7
, th-lift-instances >= 0.1 && < 0.2
, generic-deriving >= 1.9 && < 2
, hspec >= 2 && < 3
, lift-generics
, mtl >= 2.1 && < 2.3
, template-haskell >= 2.4 && < 2.18
, th-compat >= 0.1 && < 0.2
build-tool-depends: hspec-discover:hspec-discover
hs-source-dirs: tests
default-language: Haskell2010
ghc-options: -Wall -threaded -rtsopts