[GHC] #8848: Warning: Rule too complicated to desugar
GHC
ghc-devs at haskell.org
Tue Mar 25 14:16:55 UTC 2014
#8848: Warning: Rule too complicated to desugar
-------------------------------------+------------------------------------
Reporter: carter | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.8.1-rc2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Comment (by Simon Peyton Jones <simonpj@…>):
In [changeset:"41ba7ccb742278de0abf32cb7571c71b150997a3/ghc"]:
{{{
#!CommitTicketReference repository="ghc"
revision="41ba7ccb742278de0abf32cb7571c71b150997a3"
Improve the desugaring of RULE left-hand-sides (fixes Trac #8848)
I've added detailed comments with
Note [Decomposing the left-hand side of a RULE]
The result is a noticeable improvement. Previously
* we rejected a perfectly decent SPECIALISE (Trac #8848)
* and for something like
f :: (Eq a) => b -> a -> a
{-# SPECIALISE f :: b -> [Int] -> [Int] #-}
we ended up with
RULE f ($fdEqList $dfEqInt) = f_spec
whereas we wanted
RULES forall (d:Eq [Int]). f d = f_spec
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8848#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list