lift-generics

GHC.Generics-based Language.Haskell.TH.Syntax.lift implementation https://github.com/RyanGlScott/lift-generics

LTS Haskell 8.15:0.1.1
Stackage Nightly 2017-05-26:0.1.1
Latest on Hackage:0.1.1
BSD3 licensed by Ryan Scott
Maintained by Ryan Scott

Module documentation for 0.1.1

lift-generics

[Haskell Programming Language][Haskell.org] Hackage Dependencies [Haskell Programming Language][Haskell.org] [BSD3 License][tl;dr Legal: BSD3] Build

http://hackage.haskell.org/package/lift-generics "lift-generics package on Hackage" [Haskell.org]: http://www.haskell.org "The Haskell Programming Language" [tl;dr Legal: BSD3]: https://tldrlegal.com/license/bsd-3-clause-license-%28revised%29 "BSD 3-Clause License (Revised)"

This package provides a GHC.Generics-based genericLiftWithPkg function (intended for GHC 7.10 and earlier), as well as a genericLift function (only available on GHC 8.0 and later), both 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 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 this reason, 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 8.0 and later: simply use the genericLift function, and life is good.

Changes

0.1.1

  • Fix test suite on GHC 8.0

0.1

  • Initial commit
comments powered byDisqus