
#9792: map/coerce rule never seems to fire -------------------------------------+------------------------------------- Reporter: dfeuer | Owner: ekmett Type: bug | Status: new Priority: normal | Milestone: 7.10.1 Component: Core | Version: 7.9 Libraries | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Unknown Unknown/Multiple | Blocked By: Type of failure: Runtime | Related Tickets: performance bug | Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by nomeata):
I think that's the sort of thing that would be okay to implement optimistically and wait and see if anything breaks
I wasn’t saying that we shouldn’t; I was just explaining why it is not. I think one solution would be to assume everying is strict in values of type `Coercible`, so that the optimizer will move the `case` out as far as possible, outside the call to map, thus allowing the rule to match. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9792#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler