There's something very mysterious going on here.  The
booted compiler does something different to the non-booted one!
(The latter works ok.)

Will investigate, but perhaps not very fast.  This isn't really
holding you up now, right?

Simon


> -----Original Message-----
> From: Sven Panne 
> Sent: Tuesday, August 17, 1999 8:27 PM
> To: GHC Bugs
> Subject: Instance bug
> 
> 
> Here one of my favourite bugs in larger projects (IIRC, this
> has partly been reported by me in the "Importing, hiding, and
> exporting" thread):
> 
> -- A.hs -------------------------------------------------
> module A where
> data Foo = Foo -- Typo! Forgot "deriving Show"
> -- B.hs -------------------------------------------------
> module B where
> import A
> data Bar = Bar Foo deriving Show
> data Baz = Baz Int deriving Show
> -- Main.hs ----------------------------------------------
> import A
> import B
> main :: IO ()
> main = print (Bar Foo, Baz 42)
> ---------------------------------------------------------
> 
>    panne@jeanluc:~ > ghc -Wall -O -c A.hs
>    ghc: module version changed to 1; reason: no old .hi file
>    panne@jeanluc:~ > ghc -Wall -O -c B.hs
>    ghc: module version changed to 1; reason: no old .hi file
> 
> [??? Why does B compile? And why is Baz's Show instance not in B.hi? ]
> 
>    panne@jeanluc:~ > ghc -Wall -O -c Main.hs
> 
>    Main.hs:4:
>        No instance for `Show Baz' arising from use of `print' 
> at Main.hs:4
> 
>    Main.hs:4:
>        No instance for `Show Bar' arising from use of `print' 
> at Main.hs:4
> 
> This one drove me mad several times, looking at the completely
> wrong place (i.e. B.hs).    %-{
> 
> Cheers,
>    Sven
> -- 
> Sven Panne                                        Tel.: 
> +49/89/2178-2235
> LMU, Institut fuer Informatik                     FAX : 
> +49/89/2178-2211
> LFE Programmier- und Modellierungssprachen              
> Oettingenstr. 67
> mailto:[EMAIL PROTECTED]            
> D-80538 Muenchen
> http://www.pms.informatik.uni-muenchen.de/mitarbeiter/panne
> 

Reply via email to