Question

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.

Was it helpful?

Solution

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top