[GHC] #9434: GHC.List.reverse does not fuse

GHC ghc-devs at haskell.org
Wed Oct 1 13:39:09 UTC 2014


#9434: GHC.List.reverse does not fuse
-------------------------------------+-------------------------------------
              Reporter:  dfeuer      |            Owner:
                  Type:  bug         |           Status:  infoneeded
              Priority:  normal      |        Milestone:
             Component:              |          Version:  7.9
  libraries/base                     |         Keywords:
            Resolution:              |     Architecture:  Unknown/Multiple
      Operating System:              |       Difficulty:  Easy (less than 1
  Unknown/Multiple                   |  hour)
       Type of failure:  Runtime     |       Blocked By:
  performance bug                    |  Related Tickets:
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------
Changes (by nomeata):

 * status:  patch => infoneeded


Comment:

 Is this understanding correct: `reverse` is made a good consumer, and
 additionally, it is a good producer when immediately consumed by `map`.

 You might make the rules simpler by using `mapReverseFB revId` instead of
 `revFB`: No need to have both `mapMapReverse` and `mapReverse` then.

 There is quite a bit of logic in this patch. Would you mind adding test
 cases for this, so that this behaviour is not accidentally broken in the
 future?

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9434#comment:14>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list