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.20), bytestring (>=0.10 && <0.13), ghc (>=8.10.7 && <9.9), ghc-boot (>=8.10.7 && <9.9), template-haskell (>=2.16.0 && <2.22) [details]
License BSD-3-Clause[multiple license files]
Author Zachary Wood
Category ghc, template-haskell
Source repo head: git clone
Uploaded by amesgen at 2023-10-10T20:49:24Z
Distributions LTSHaskell:, NixOS:, Stackage:
Reverse Dependencies 2 direct, 21 indirect [details]
Downloads 273 total (19 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-10-10 [all 1 reports]

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, 9.0, 9.2, 9.4, 9.6 and 9.8.


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.