lift-data: Data.Data-based Language.Haskell.TH.Syntax.lift implementation

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

This package provides a Data.Data-based genericLift function along with typed variants. See the documentation in the Language.Haskell.TH.Lift.Data module to get started.

This is based on the lift-generics package.

Note that due to API limitations, Data.Data and Data.Typeable weren't powerful enough to come up with the entirety of a lift implementation prior to GHC 7.4. Thanks to a bug in many recent GHC versions, there is no practical way to offer a fall-back API as is found in lift-generics.


[Skip to Readme]

Properties

Versions 0.1.0
Change log CHANGELOG.md
Dependencies base (>=4.5 && <5), ghc-prim, template-haskell (>=2.4 && <2.18), th-compat (>=0.1 && <0.2) [details]
License BSD-3-Clause
Copyright (C) 2015-2017 Ryan Scott, (C) 2021 David Feuer
Author David Feuer
Maintainer David Feuer <David.Feuer@gmail.com>
Category Language
Home page https://github.com/treeowl/lift-data
Bug tracker https://github.com/treeowl/lift-data/issues
Source repo head: git clone https://github.com/treeowl/lift-data
Uploaded by dfeuer at 2021-09-15T04:08:46Z

Modules

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for lift-data-0.1.0

[back to package description]

lift-generics

Haskell Programming Language Hackage Dependencies Haskell Programming Language BSD3 License Build Status

This package provides a Data.Data-based genericLift function 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.