Compiling a String into an Exp with TemplateHaskell

189 views Asked by At

I'm looking for a way to compile a string of a valid Haskell expression code into a TH Exp.

E.g., if there existed an appropriate function, I'd expect it to behave the following way:

> $(theFunctionImLookingFor "\a -> a + 1") 2
3

I've already looked for the implementation of quoteExp :: String -> Q Exp for the underlying QuasiQuoter of [e|..|], but it seems to be magic and there is none.

1

There are 1 answers

0
user2407038 On BEST ANSWER

The function you are looking for is parseExp from the Language.Haskell.Meta.Parse module in the haskell-src-meta package.