Hi all,

I'm writing some TH code that should generate property tests. For example,
the expression:

$(generate [e| law "idempotent" (insert a (insert a b) == insert a b) |])

should generate the code

property $ \a b -> insert a (insert a b) === insert a b

I do this by looking for UnboundVarEs in the Exp returned by the [e| quote,
and binding them in a lambda. All of this works.

However, now I'm trying to get the inferred types of `a` and `b` in the
above. GHC clearly is typechecking the quote, since it will fail if I
replace `b` with something nonsensical. *Is there some existent way to get
the inferred type of an UnboundVarE --- ideally without reimplementing the
typechecker?*

Thanks!
Sandy
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to