[GHC] #9434: GHC.List.reverse does not fuse
David Feuer
david.feuer at gmail.com
Fri Aug 15 16:46:56 UTC 2014
Yes, but I'm not sure how to do that, especially because foldl doesn't have
the phased NOINLINE that foldr does.
On Aug 15, 2014 12:45 PM, "Dan Doel" <dan.doel at gmail.com> wrote:
> Isn't this kind of thing fixed for other functions by rewriting back into
> the direct recursive definition if no fusion happens?
>
>
> On Fri, Aug 15, 2014 at 11:41 AM, David Feuer <david.feuer at gmail.com>
> wrote:
>
>> I'm having trouble when it doesn't fuse—it ends up with duplicate
>> bindings at the top level, because build gets inlined n times, and the
>> result lifted out. Nothing's *wrong* with the code, except that there are
>> multiple copies of it.
>> On Aug 15, 2014 10:58 AM, "GHC" <ghc-devs at haskell.org> wrote:
>>
>>> #9434: GHC.List.reverse does not fuse
>>>
>>> -------------------------------------+-------------------------------------
>>> Reporter: dfeuer | Owner:
>>> Type: bug | Status: new
>>> 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: |
>>>
>>> -------------------------------------+-------------------------------------
>>>
>>> Comment (by simonpj):
>>>
>>> Great. Just check that when fusion ''doesn't'' take place, the result
>>> is
>>> good. And do a `nofib` comparison for good luck. Then submit a patch.
>>>
>>> Thanks for doing all this work on fusion, David.
>>>
>>> Simon
>>>
>>> --
>>> Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9434#comment:2>
>>> GHC <http://www.haskell.org/ghc/>
>>> The Glasgow Haskell Compiler
>>>
>>
>> _______________________________________________
>> ghc-devs mailing list
>> ghc-devs at haskell.org
>> http://www.haskell.org/mailman/listinfo/ghc-devs
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140815/9fafdade/attachment.html>
More information about the ghc-devs
mailing list