patch applied (ghc-6.6/ghc): MERGED: Emit a decent error message
when there is a decl-splice inside a decl-bracket
igloo at earth.li
Fri Mar 23 20:40:27 EDT 2007
Fri Mar 23 10:31:59 PDT 2007 Ian Lynagh <igloo at earth.li>
* MERGED: Emit a decent error message when there is a decl-splice inside a decl-bracket
simonpj at microsoft.com**20070323111912
This fixes Trac #1065. The fix is just to emit a decent error message
rather than crash. The situation is this:
f x = ... [d| $(..stuff..);
f x = v :: T |] ...
TH wants to rename and typecheck the bracket; but it can't run the
nested splice yet. That seems hard, because we know nothing about v, T,
which are, presumably bound by the splice.
The original TH paper says this isn't allowed, and now it's checked for
properly (in the parser, in fact) rather than causing a crash. In the
fullness of time we might want to do something more flexible, but not now.
M ./compiler/parser/Parser.y.pp -1 +2
M ./compiler/parser/RdrHsSyn.lhs -9 +10
More information about the Cvs-ghc