Force third argument to until
Needs RevisionPublic

Authored by dfeuer on Nov 9 2014, 6:05 PM.

Details

Reviewers
hvr
ekmett
austin
Summary

This preserves semantics, except that it can turn undetectable infinite
loops into exceptions, or exchange one exception for another, both in
fairly rare cases; it also leads to slightly more precise strictness
analysis, which can't be bad, although it's not clear whether it
actually helps under realistic conditions.

Diff Detail

Repository
rGHC Glasgow Haskell Compiler
Branch
until
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 1831
Build 1838: GHC Patch Validation (amd64/Linux)
dfeuer updated this revision to Diff 1368.Nov 9 2014, 6:05 PM
dfeuer retitled this revision from to Force third argument to until.
dfeuer updated this object.
dfeuer edited the test plan for this revision. (Show Details)
dfeuer added reviewers: hvr, ekmett, austin.
austin edited edge metadata.Nov 10 2014, 10:03 AM

Mmmmmmm. I'm sort of ambivalent about these kinds of changes honestly, since possible-yet-practically-unlikely semantics changes are always a bit tricky. @ekmett is the one who should step up to the plate I'd guess.

ekmett edited edge metadata.Nov 10 2014, 10:05 AM

I'm generally in favor, but would like to wait until the libraries proposal has had a chance to play out further.

In D466#11633, @ekmett wrote:

I'm generally in favor, but would like to wait until the libraries proposal has had a chance to play out further.

I put this up here more as an idea to play with than as something I necessarily think should go in. I realized today that another bottom-swapping effect is that if p=x=_|_, this change gets the x bottom instead of the p bottom. Still nothing to worry about.

austin requested changes to this revision.Dec 5 2014, 3:04 PM
austin edited edge metadata.

(Marking as 'Required changes' to move it out of the blocking queue)

This revision now requires changes to proceed.Dec 5 2014, 3:04 PM
austin resigned from this revision.Nov 6 2017, 10:07 PM