RE: classes and template haskell (bug?)

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@haskell.org, and other GHC bugs to Glasgow-haskell-bugs@haskell.org.) Simon | -----Original Message----- | From: glasgow-haskell-users-bounces@haskell.org [mailto:glasgow-haskell-users- | bounces@haskell.org] On Behalf Of Jeremy Shaw | Sent: 02 January 2004 04:35 | To: glasgow-haskell-users@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@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@haskell.org | > [mailto:glasgow-haskell-users- | > | bounces@haskell.org] On Behalf Of Jeremy Shaw | > | Sent: 31 December 2003 02:19 | > | To: glasgow-haskell-users@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@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@haskell.org | > | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users | > | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
participants (1)
-
Simon Peyton-Jones