summaryrefslogtreecommitdiff
path: root/compiler/codeGen
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2017-04-26 16:57:15 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2017-04-28 09:55:07 +0100
commit25754c83c9be3bf843310b1c7877c42fa3f9f3c7 (patch)
tree4ac5750df24cf3297a81dcd060df0a5e15168bca /compiler/codeGen
parent03ec7927f050c203a43843d95938ededf6d2c8f9 (diff)
downloadhaskell-25754c83c9be3bf843310b1c7877c42fa3f9f3c7.tar.gz
Eta expansion and join points
CoreArity.etaExpand tried to deal with eta-expanding expressions with join points. For example let j x = e in \y. b But it is hard to eta-expand this in the "no-crap" way described in Note [No crap in eta-expanded code], becuase it would mean pushing the "apply to y" into the join RHS, and changing its type. And the join might be recursive, and it might have an unfolding. Moreover in elaborate cases like this I don't think we need the no-crap thing. So for now I'm simplifying the code by generating \z. (let j x = e in \y. b) z Let's see if that gives rise to any problems. See Note [Eta expansion for join points]
Diffstat (limited to 'compiler/codeGen')
0 files changed, 0 insertions, 0 deletions