As a by-product of hacking Fudgets to death, a bug in ghc-2.08 showed up.
Compiling the fragment from Fudgets below (the real names made as much
sense to me as the ones below :-), ghc fails ungracefully:
----------------------------------------------------------------------
module Foo where
foo = bar
where bar = \baz -> (baz + boing, truncate baz, truncate boing)
boing = 0
----------------------------------------------------------------------
Transcript:
ghc -c Foo.hs
zonkIdOcc: truncate_aXz
panic! (the `impossible' happened):
lookupBindC:no info!
for: truncate_aXz
(probably: data dependencies broken by an optimisation pass)
static binds for:
$g0_a12Y
$g1_a131
local binds for:
Please report it as a compiler bug to [EMAIL PROTECTED]
Changing the above code in innocuous looking ways (like moving baz
to the left of the equal sign, substituting bar or boing etc.) results
in a compilation without any problems.
BTW, I *really* love GHC's entertaining internal function names like
zonkIdOcc! :-))
--
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