[GHC] #7837: Rules involving equality constraints don't fire
#7837: Rules involving equality constraints don't fire ------------------------------------+--------------------------------------- Reporter: akio | Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.6.2 | Keywords: equality constraint,rules Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Runtime performance bug | Blockedby: Blocking: | Related: ------------------------------------+--------------------------------------- In the attached program, the "normalize/Double" rule doesn't fire, whereas "normalize'/Double" does. In general, it seems that a rule doesn't fire if it involves discharging an equality constraint that is required by the LHS. -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7837> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#7837: Rules involving equality constraints don't fire ------------------------------------+--------------------------------------- Reporter: akio | Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.6.2 | Keywords: equality constraint,rules Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Runtime performance bug | Blockedby: Blocking: | Related: ------------------------------------+--------------------------------------- Changes (by PHO): * cc: pho@… (added) -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7837#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#7837: Rules involving equality constraints don't fire ------------------------------------+--------------------------------------- Reporter: akio | Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.6.2 | Keywords: equality constraint,rules Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Runtime performance bug | Blockedby: Blocking: | Related: ------------------------------------+--------------------------------------- Comment(by simonpj@…): commit 29cc690e8a6c154973de27d7bb49aa2a47b51dc7 {{{ Author: Simon Peyton Jones <simonpj@microsoft.com> Date: Tue Apr 16 10:33:13 2013 +0100 Make the desugarer a tiny bit cleverer on coercions (fixes Trac #7837) The desugarer was generating a redundant box/unbox pair on the LHS of a RULE, which in turn made matching fail. See Note [Simple coercions] in DsBinds. compiler/deSugar/DsBinds.lhs | 33 +++++++++++++++++++++++++++++++-- 1 files changed, 31 insertions(+), 2 deletions(-) }}} -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7837#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#7837: Rules involving equality constraints don't fire -------------------------------------------------+-------------------------- Reporter: akio | Owner: Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 7.6.2 Resolution: fixed | Keywords: equality constraint,rules Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Runtime performance bug | Difficulty: Unknown Testcase: indexed-types/should_compile/T7837 | Blockedby: Blocking: | Related: -------------------------------------------------+-------------------------- Changes (by simonpj): * status: new => closed * difficulty: => Unknown * resolution: => fixed * testcase: => indexed-types/should_compile/T7837 Comment: Ah, yes, good point thank you. Fixed! Simon -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7837#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC