Thomas Hallgren <[EMAIL PROTECTED]> writes:
> * hugs Dec 2001: main outputs: (FromInteger (-2),True)
> * ghc 5.02.2: main outputs: (FromInteger (-2),True)
> * hbc 0.9999.5b: main outputs: (Negate (FromInteger 2),False)
> * nhc98 1.12: compiler outputs: Fail: What? matchAltIf at 7:13
>
> From this I conclude that hbc is the only Haskell implementation that
> treats negated literals in expressions in accordance with the report,
> but it treats negated literals in patterns differently. Hugs and ghc
> treat expressions and patterns consistently, but they disagree with the
> report. Nhc98 appears to be buggy.
nhc98 (1.12) does appear to have a slight bug here, but it is only
in the compilation of the pattern-match. If you exclude the pattern
from your test, the output is (Negate (FromInteger 2)), which agrees
with hbc and the Report.
In addition, the CVS version now has a fix for the pattern-match bug,
and the result of trueOrFalse is True, as expected.
Regards,
Malcolm
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell