diff options
author | Matheus Magalhães de Alcantara <matheus.de.alcantara@gmail.com> | 2019-11-08 17:59:26 -0300 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-11-23 18:55:23 -0500 |
commit | de6bbdf27f1831818598c7b334cb5b247aa97af7 (patch) | |
tree | 17864c2af979a1d7205909db2c6c4035a8772cab /docs/users_guide/utils.py | |
parent | e43e6ece1418f84e50d572772394ab639a083e79 (diff) | |
download | haskell-de6bbdf27f1831818598c7b334cb5b247aa97af7.tar.gz |
Take care to not eta-reduce jumps in CorePrep
CorePrep already had a check to prevent it from eta-reducing Ids that
respond true to hasNoBinding (foreign calls, constructors for unboxed
sums and products, and Ids with compulsory unfoldings). It did not,
however, consider join points as ids that 'must be saturated'.
Checking whether the Id responds True to 'isJoinId' should prevent
CorePrep from turning saturated jumps like the following (from #17429)
into undersaturated ones:
(\ eta_XP ->
join { mapped_s1vo _ = lvl_s1vs } in jump mapped_s1vo eta_XP)
Diffstat (limited to 'docs/users_guide/utils.py')
0 files changed, 0 insertions, 0 deletions