ghc-hs-meta: Translate Haskell source to Template Haskell expression

[ bsd3, ghc, library, template-haskell ] [ Propose Tags ]

Translate from Haskell source code to Template Haskell expressions using the GHC parser

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],
Change log
Dependencies base (>=4.14 && <4.18), bytestring (>=0.10 && <0.12), ghc (>=8.10.7 && <9.5), ghc-boot (>=8.10.7 && <9.5), template-haskell (>=2.16.0 && <2.20) [details]
License BSD-3-Clause[multiple license files]
Author Zachary Wood
Category ghc, template-haskell
Source repo head: git clone
Uploaded by zallocate at 2022-08-22T15:18:27Z
Distributions NixOS:
Reverse Dependencies 2 direct, 21 indirect [details]
Downloads 135 total (7 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for ghc-hs-meta-

[back to package description]


Generate Template Haskell expressions from Haskell source code using the GHC parser. This package runs on GHC versions 8.10.7, 9.0.2, and 9.2.1.


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.