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