
No unsafe perform (except what may be hidden in trace), nothing, fancy, no gimmicks (very pedestrian, even heavy-handed) code. Complete code is attached (I don't have smaller snippets, because I just discovered the problem). Best, Murray Gross On Mon, 5 Jan 2009, Luke Palmer wrote:
On Mon, Jan 5, 2009 at 4:34 PM, Murray Gross
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