
#9132: takeWhile&C. still not fusible -------------------------------------+------------------------------------- Reporter: Blaisorblade | Owner: skeuchel Type: bug | Status: new Priority: normal | Milestone: Component: libraries/base | Version: 7.8.2 Resolution: | Keywords: fusion Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: Runtime | Difficulty: Moderate (less performance bug | than a day) Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------- Comment (by nomeata): @skeuchel: Good work so far¹. I think you can also do this for `dropWhile`. It’s true that `dropWhile` does not perform allocation on its own, but if you have `sum $ dropWhile (<100) [0..1000]`, there is value in fusing this: `dropWhile` needs to be a good consumer to avoid the allocations in the producer. And once that has been fused, the result is allocating, so `dropWhile` also should be a good producer. ¹ [private communication] -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9132#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler