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.
The function you are looking for is
parseExp
from theLanguage.Haskell.Meta.Parse
module in thehaskell-src-meta
package.