[GHC] #11707: Don't desugar large lists with build
GHC
ghc-devs at haskell.org
Tue Mar 15 11:40:48 UTC 2016
#11707: Don't desugar large lists with build
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.10.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Runtime | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by bgamari):
I'm not as certain in the case of `rewrite`, which is a much larger
program. This is one possibility,
{{{#!hs
group_rules = map parse_eqn [
"(a * b) * c = a * (b * c)",
"E * x = x",
"I(x) * x = E" ]
}}}
Perhaps the more likely culprit is,
{{{#!hs
p_term = seQ q_func [p_ident, look_for '(',
list_of p_expr ',', look_for ')'] ## p_prim
}}}
where, `seQ` involves `foldr` on its list argument and was clearly
designed expecting fusion.
There are also a number of singleton lists, although
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11707#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list