On Nov 19, 2010, at 6:00 PM, jean-christophe mincke wrote:

> Hello,
> 
> Is it possible for a quasi quoter to have access to information about haskell 
> identifiers declared before the quasi-quotation?  

Nope. There are staging restrictions in place, since you can't sanely use 
things that haven't been fully defined and typechecked yet. Quasiquotation in 
fact runs at the renaming stage, before there's been any typechecking of the 
module yet, so the situation is even more dire.

> I tried the 'reify' function but without success.
> 
> Just as in the following exemple:
> 
> a = 6
> x = [$expr|a|]  

However, in your example, you just want to generate `x = a`. You can do that 
just fine! Just generate a syntax tree that includes a variable named a. If 
there's no variable named a, or it has the wrong type, the syntax tree is still 
generated just fine -- the error just comes at the typechecking phase. It would 
be generating x = 6 that is impossible.

Cheers,
Sterl_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to