#2915: Arity is smaller than need be
---------------------------------------+------------------------------------
Reporter: simonpj | Owner: simonpj
Type: run-time performance bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 6.10.1
Severity: normal | Keywords:
Difficulty: Unknown | Testcase:
Os: Unknown/Multiple | Architecture: Unknown/Multiple
---------------------------------------+------------------------------------
Consider
{{{
h x = let f = case x of { True -> t1; False -> t2 }
in (f,f)
}}}
where `t1` and `t2` have arity 1. You'd think that `f` should have arity
1, but it doesn't. (Reason: `exprArity`, used in
`Simplify.addNonRecWithUnf`, doesn't look through the case.)
Fix this as part of the upcoming arity cleanup.
Simon
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2915>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs