It's another example of the fact that the Template Haskell data type
does not support all GHC's extensions.  (It started as Haskell 98, but
has various extensions beyond that.)

In this case the extension you are using is the idea that a pattern type
signature can bring a new scoped type variable into scope.
        let (_ :: b) = ...

TH doesn't understand this, so it's complaining that the 'b' is not in
scope.

I'll improve the error message.  Better yet would be to make TH have
scoped type variables too... but the exact design of scoped type
variables is still in flux, so I'd suggest working around it some other
way.

Simon

| -----Original Message-----
| From: [EMAIL PROTECTED]
[mailto:glasgow-haskell-bugs-
| [EMAIL PROTECTED] On Behalf Of Frederik Eaton
| Sent: 16 December 2005 21:54
| To: glasgow-haskell-bugs@haskell.org
| Subject: panic
| 
| $ ghc --make Vector.hs -fth
| Chasing modules from: Vector.hs
| [1 of 2] Skipping  Fu.Prepose       ( Fu/Prepose.hs, Fu/Prepose.o )
| [2 of 2] Compiling Fu.Vector        ( Vector.hs, Vector.o )
| ghc-6.5.20051208: panic! (the `impossible' happened, GHC version
6.5.20051208):
|         Failed binder lookup: b{tv a1hL}
| 
| Please report it as a compiler bug to
glasgow-haskell-bugs@haskell.org,
| or http://sourceforge.net/projects/ghc/.
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to