logo       

evaluation fault in ghci.: msg#00055

lang.haskell.glasgow.bugs

Subject: evaluation fault in ghci.

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


$ ghc -o Small Small.hs
$ ./Small
"it works"


I have verified that the fault exists at least as far back as 5.02.3.

Regards,
Malcolm

Attachment: Small.hs
Description: Text document

<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise