On Mon, Jan 5, 2009 at 4:34 PM, Murray Gross <mgross21@verizon.net> wrote:

When using any of -O, -O1, -O2 with the Debian binary build of GHC 6.6, trace shows that the expression

      if (lr > ll)  then  False else True

is (at least partially) evaluated, but the value returned is always True, even though trace reports that (lr > ll) is True. When I use only the native code generator (without optimization), the correct value (False) is returned.

Further detail and complete code on request.

Of course!  This is obviously incorrect behavior.  Are you doing any unsafePerformIO?  Please, complete code (minimal test case if possible, but don't let that stop you).

Luke


 


Best,

Murray Gross
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe