
#9238: Negative zero broken -------------------------------------+------------------------------------- Reporter: augustss | Owner: Type: bug | Status: new Priority: normal | Milestone: 7.12.1 Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Incorrect result | Unknown/Multiple at runtime | Test Case: Blocked By: | Blocking: Related Tickets: #7858, #9451 | Differential Revisions: -------------------------------------+------------------------------------- Comment (by simonpj): Replying to [comment:13 bgamari]:
simonpj, how do you think your suggestion should interact with the `litEq` rule? As far as I can tell this `PrelRule` is responsible for most of the floating-point pattern matches that we are seeing. As you essentially suggesting we disable `litEq` for floating-point types?
Well, IF we agree that Core case expressions should not scrutinise floating point values, THEN * We should document that invariant, with explanation of why * We should make Core Lint check for it * And yes `litEq` (which generates such case expressions) should not do so for floating point values Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9238#comment:14 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler