Fri Aug 18 04:07:02 PDT 2006  [EMAIL PROTECTED]
  * Fall over more gracefully when there's a Template Haskell error
  
  For a long time, Template Haskell has fallen over in a very un-graceful
  way (i.e. panic) even when it encounters a programmer error.  In particular,
  when DsMeta converts HsSyn to TH syntax, it may find Haskell code that
  TH does not understand. This should be reported as a normal programmer
  error, not with a compiler panic!
  
  Originally the desugarer was supposed to never generate error
  messages, but this TH desugaring thing does make it do so.  And in
  fact, for other reasons, the desugarer now uses the TcRnIf monad, the
  common monad used by the renamer, typechecker, interface checker, and
  desugarer.  
  
  This patch completes the job, by 
   - allowing the desugarer to generate errors
   - re-plumbing the error handling to take account of this
   - making DsMeta use the new facilities to report error gracefully
  
  Quite a few lines of code are touched, but nothing deep is going on.
  
  Fixes Trac# 760.
  

    M ./compiler/deSugar/Desugar.lhs -34 +25
    M ./compiler/deSugar/DsBinds.lhs -1 +1
    M ./compiler/deSugar/DsExpr.lhs -1 +1
    M ./compiler/deSugar/DsMeta.hs -54 +68
    M ./compiler/deSugar/DsMonad.lhs -31 +65
    M ./compiler/deSugar/Match.lhs -2 +2
    M ./compiler/main/HscMain.lhs -22 +20
    M ./compiler/typecheck/TcRnDriver.lhs -1 +2
    M ./compiler/typecheck/TcSplice.lhs -8 +7
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to