ghc-hs-meta

Translate Haskell source to Template Haskell expression

Version on this page:0.1.2.0@rev:1
LTS Haskell 22.21:0.1.3.0
Stackage Nightly 2024-05-06:0.1.3.0
Latest on Hackage:0.1.3.0

See all snapshots ghc-hs-meta appears in

BSD-3-Clause licensed by Zachary Wood
Maintained by [email protected]
This version can be pinned in stack with:ghc-hs-meta-0.1.2.0@sha256:bfa1614afda9bfe66b4116e16528c6fc9d7ce79dfe4abd7fd2f37467172997a3,1485

Module documentation for 0.1.2.0

ghc-hs-meta

Generate Template Haskell expressions from Haskell source code using the GHC parser. This package runs on GHC versions 8.10, 9.0, 9.2, 9.4 and 9.6.

Usage

Pass a String containing Haskell source code to parseExp. Example from the tests:

case parseExp "a @b" of
    Right exp -> exp `shouldBe` TH.AppTypeE (TH.VarE (TH.mkName "a")) (TH.VarT (TH.mkName "b"))
    Left (_, _, errMsg) -> error errMsg

See Hackage documentation for more documentation.

Thank you, PyF

This code originated from the excellent parser included in the PyF package. I extracted the relevant code and refactored/renamed things to be usable in a more general context. Without PyF, this could wouldn’t have been possible. Thank you!

The original license for PyF can be found in the LICENSE-PyF file included in this repository.

Changes

0.1.2.0

  • Support GHC 9.6

0.1.1.0

  • Support GHC 9.4

0.1.0.0

Initial release.