[commit: ghc] master: Yet another attempt at inferring the right quantification (bac95f9)

git at git.haskell.org git at git.haskell.org
Thu Apr 6 11:34:32 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/bac95f9de5bd8d0a647a3a1e4492497603c2fda2/ghc

>---------------------------------------------------------------

commit bac95f9de5bd8d0a647a3a1e4492497603c2fda2
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Wed Apr 5 13:46:03 2017 +0100

    Yet another attempt at inferring the right quantification
    
    TcSimplify.decideQuantification is truly a tricky function!
    Trac #13509 showed that we were being over-eager with defaulting
    of runtime-rep variables (levity polymorphism), which meant that
    a program was wrongly rejected, and with a very odd error message
    (c.f. Trac #13530)
    
    I spent an unreasonably long time figuring out how to fix this
    in a decent way, and ended up with a major refactoring of
    decideQuantification, with a kock-on effect in simplifyInfer.
    
    It is at least a bit more comprehensible now; but I still
    can't say I like it.


>---------------------------------------------------------------

bac95f9de5bd8d0a647a3a1e4492497603c2fda2
 compiler/typecheck/TcMType.hs                      |  95 +++----
 compiler/typecheck/TcSimplify.hs                   | 306 ++++++++++++---------
 .../indexed-types/should_fail/ExtraTcsUntch.stderr |  12 +-
 testsuite/tests/typecheck/should_compile/T13509.hs |  17 ++
 testsuite/tests/typecheck/should_compile/all.T     |   2 +
 5 files changed, 255 insertions(+), 177 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc bac95f9de5bd8d0a647a3a1e4492497603c2fda2


More information about the ghc-commits mailing list