Oops I didn't get to finish... accidentally sent. Here's the completed version:

I'm playing around with Template Haskell, specifically QuasiQuotes and I've run into something that I hope is not an inherent limitation in TH.Specifically I want to get the type of a variable whose name is used in a QuasiQuote. The code generated by the QQ should depend on the type of the variables that are to be antiquoted.

For example 

let a = True 
in [qq | a |]

should result in different code being generated by the qq than

let a = 42
in [qq | a |] 


because the type of variable "a" is different. 

So far I've tried simple reification

> quote str = do
>   let varname = "someVariableKnownToExist"
>   info <- reify $ mkName str
>   ...

but this results in "`someVariableKnownToExists' is not in scope at a reify"

any thoughts?

--J Arthur