diff options
author | David Feuer <david.feuer@gmail.com> | 2017-04-03 22:25:55 -0400 |
---|---|---|
committer | David Feuer <David.Feuer@gmail.com> | 2017-04-03 22:25:56 -0400 |
commit | e83af07e3d0b65fe6f37806e86d07f3e8dc1b01e (patch) | |
tree | 79aeba830a6aca1ae260950091e85462d09083fe /HACKING.md | |
parent | 38f9eadd8e4746c2fabf83045073134f5a554a06 (diff) | |
download | haskell-e83af07e3d0b65fe6f37806e86d07f3e8dc1b01e.tar.gz |
Revert "Make raiseIO# produce topRes"
This reverts commit da4687f63ffe5a6162e3d7856aa53de048dd0f42.
It's not entirely trivial to clean up the dead code this patch
introduced. In particular, when we see
```
case raiseIO# m s of
s' -> e
```
we want to know that `e` is dead. For scrutinees that are properly
bottom (which we don't want to consider `raiseIO# m s` to be, this
is handled by rewriting `bot` to `case bot of {}`. But if we do
that for `raiseIO#`, we end up with
```
case raiseIO# m s of {}
```
which looks a lot like bottom and could confuse demand analysis.
I think we need to wait with this change until we have a more
complete story.
Reviewers: austin, bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D3413
Diffstat (limited to 'HACKING.md')
0 files changed, 0 insertions, 0 deletions