summaryrefslogtreecommitdiff
path: root/compiler/prelude/TysPrim.hs
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2015-11-06 14:04:08 +0100
committerJoachim Breitner <mail@joachim-breitner.de>2015-11-06 15:31:55 +0100
commita58eeb7febd67c93dab82de7049ef1dcdecd34e9 (patch)
treebf4a585b5b603436ec16ed242ecb20b13ef9d561 /compiler/prelude/TysPrim.hs
parent10647d4e2e8e3b5eb5486bd6aafbe17cda139577 (diff)
downloadhaskell-a58eeb7febd67c93dab82de7049ef1dcdecd34e9.tar.gz
Call Arity: In "e x", the result of "x" is not shared
in contrast to "e (f x)", where CorePrep will turn it into "let y = f x in e x". So in let f = ... in e (f x) we know that f is called at most once, but in let f = ... in e f we do not know that. Previously Call Arity would assume that in "e x", "x" is evaluated at most once. This rarely would make a difference (the argument "x" is analized with an incoming arity of 0, so no eta-expansion would be done anyways), but of course this should still be fixed. This fixes #11064. Note the corresponding code dmdTransformThunkDmd in DmdAnal.
Diffstat (limited to 'compiler/prelude/TysPrim.hs')
0 files changed, 0 insertions, 0 deletions