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, 9.8 and 9.10.
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.
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.