classes and template haskell (bug?)

Simon Peyton-Jones simonpj at microsoft.com
Mon Jan 5 10:41:22 EST 2004


Indeed, this is a bug.  Well, two bugs actually.  I've just fixed them.
Thanks for the report.

(You probably want to send TH-related mail to
template-haskell at haskell.org, and other GHC bugs to
Glasgow-haskell-bugs at haskell.org.)

Simon

| -----Original Message-----
| From: glasgow-haskell-users-bounces at haskell.org
[mailto:glasgow-haskell-users-
| bounces at haskell.org] On Behalf Of Jeremy Shaw
| Sent: 02 January 2004 04:35
| To: glasgow-haskell-users at haskell.org
| Subject: Re: classes and template haskell (bug?)
| 
| Hello,
| 
| No dice. Using cvs head from 12/31, I get the same behavior, (plus a
| new bug). Using the same test as before (after updating the import
| line):
| 
| *Main> runQ [d| instance Test (a,b) |] >>= putStrLn . show
| ghc-6.3: panic! (the `impossible' happened, GHC version 6.3):
| 	Failed binder lookup: a{tv} {- tv a2jx -}
| 
| Please report it as a compiler bug to
glasgow-haskell-bugs at haskell.org,
| or http://sourceforge.net/projects/ghc/.
| 
| Also, a new bug has appeared (then again, it is cvs head) -- If I
| start ghci, and then do this:
| 
| Prelude> let n = 1
| Prelude> n
| *** Exception: basicTypes/Var.lhs:226:32-58: Non-exhaustive patterns
in record update
| 
| Prelude> b
| *** Exception: basicTypes/Var.lhs:226:32-58: Non-exhaustive patterns
in record update
| 
| Prelude> a
| *** Exception: basicTypes/Var.lhs:226:32-58: Non-exhaustive patterns
in record update
| 
| Prelude> 3 + 4
| *** Exception: basicTypes/Var.lhs:226:32-58: Non-exhaustive patterns
in record update
| 
| 
| Or similarily:
| 
| *Main> runQ [d| instance Test (Int,Int) |] >>= putStrLn . show
| Loading package haskell98 ... linking ... done.
| Loading package haskell-src ... linking ... done.
| [InstanceD [] (AppT (ConT Main.Test) (AppT (AppT (TupleT 2) (ConT
GHC.Base.Int)) (ConT
| GHC.Base.Int))) []]
| *Main> runQ [d| instance Test (a,b) |] >>= putStrLn . show
| *** Exception: basicTypes/Var.lhs:226:32-58: Non-exhaustive patterns
in record update
| 
| Jeremy Shaw.
| 
| 
| At Wed, 31 Dec 2003 08:11:47 -0000,
| Simon Peyton-Jones wrote:
| >
| > In GHC 6.2, Template Haskell has various bugs.  I think they are all
| > fixed in the HEAD, so you can either build from source or grab a
| > development snapshot from the GHC site.
| >
| > The HEAD version of TH has a slightly different programming
interface
| > too -- see
| > 	http://research.microsoft.com/~simonpj/tmp/notes2.ps
| >
| > Simon
| >
| > | -----Original Message-----
| > | From: glasgow-haskell-users-bounces at haskell.org
| > [mailto:glasgow-haskell-users-
| > | bounces at haskell.org] On Behalf Of Jeremy Shaw
| > | Sent: 31 December 2003 02:19
| > | To: glasgow-haskell-users at haskell.org
| > | Subject: classes and template haskell (bug?)
| > |
| > | Hello,
| > |
| > | I have loaded the following from a file into ghci 6.2:
| > |
| > | module Main where
| > |
| > | import Language.Haskell.THSyntax
| > |
| > | class Test a where
| > |     test :: a -> a
| > |
| > | instance Test (a,b,c) where
| > |     test x = x
| > |
| > | main = putStrLn "Hello, World!"
| > |
| > | This works for me:
| > |
| > | *Main> runQ [d| instance Test (Int,Int) |] >>= putStrLn . show
| > | [InstanceD [] (AppT (ConT "Main:Test") (AppT (AppT (TupleT 2)
(ConT
| > "GHC.Base:Int")) (ConT
| > | "GHC.Base:Int"))) []]
| > |
| > | But this doesn't:
| > |
| > | *Main> runQ [d| instance Test (a,b) |] >>= putStrLn . show
| > | ghc-6.2: panic! (the `impossible' happened, GHC version 6.2):
| > | 	Failed binder lookup: a {- tv a20x -}
| > |
| > | Please report it as a compiler bug to
| > glasgow-haskell-bugs at haskell.org,
| > | or http://sourceforge.net/projects/ghc/.
| > |
| > |
| > | Am I doing something wrong, or is this a bug?
| > |
| > | Thanks!
| > | Jeremy Shaw.
| > | _______________________________________________
| > | Glasgow-haskell-users mailing list
| > | Glasgow-haskell-users at haskell.org
| > | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
| >
| _______________________________________________
| Glasgow-haskell-users mailing list
| Glasgow-haskell-users at haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


More information about the Glasgow-haskell-users mailing list