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 <[email protected]> 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" <[email protected]> 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 > [email protected] > http://www.haskell.org/mailman/listinfo/ghc-devs > >
_______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
