Generate Template Haskell expressions from Haskell source code using the GHC parser.
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.