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
>