patch applied (ghc-6.6/ghc): MERGED: Emit a decent error message when there is a decl-splice inside a decl-bracket

Ian Lynagh 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 mailing list