FW: [Template-haskell] TH restrictions
Simon Peyton-Jones
simonpj at microsoft.com
Thu Nov 25 08:57:36 EST 2004
| >| foo = and
| >| bar = [| foo |]
| >|
| >| in one module used to be OK whereas now it gives
| >|
| >| No instance for (Language.Haskell.TH.Syntax.Lift ([Bool] ->
Bool))
| >
I have just fixed this.
Kean asked:
| I came accross this one and thought it was a feature. If this could
be
| fixed it would actually have more impact... one question though, what
| happens if:
|
| [d| dec 1 |]
| [d| dec 2 |]
|
| We refer to some thing spliced in "dec 1" inside the quasi-quotes of
| "dec 2"?
You'll have to give a more precise example. In my example, the
occurrence of 'foo' referred to a lexically-visible binding for foo.
You might need $(dyn "foo") in your example. However, you can say
$(furgle ...)
x = [| foo |]
where furgle returns a binding for foo, say [d| foo = and |]; that
should work fine.
Simon
More information about the template-haskell
mailing list