> The interactive loop of ghci displays an interesting evaluation fault
> to do with derived equality. In the attached source file, there is
> a simple guard which tests some equalities, and basically the same
> value is given on the left and right of the (==). Yet, it evaluates
> to False in interactive mode, whereas it (correctly) evaluates to True
> when compiled.
>
>
> $ ghci
> ___ ___ _
> / _ \ /\ /\/ __(_)
> / /_\// /_/ / / | | GHC Interactive, version 5.04.2,
> for Haskell 98.
> / /_\\/ __ / /___| | http://www.haskell.org/ghc/
> \____/\/ /_/\____/|_| Type :? for help.
>
> Loading package base ... linking ... done.
> Loading package haskell98 ... linking ... done.
> Prelude> :l Small
> Compiling Main ( Small.hs, interpreted )
> Ok, modules loaded: Main.
> *Main> main
> "*** Exception: Four.bceFour: precondition fails:arrows not parallel
> f = E
> g = E
Nice bug. We've fixed it in CVS, but I fear the changes are too large
to backport. The workaround is to define your own instance of Eq.
Cheers,
Simon
_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs