[commit: ghc] wip/ghc-8.0-det: Make inert_model and inert_eqs deterministic sets (6b079a2)
git at git.haskell.org
git at git.haskell.org
Thu Jul 14 13:53:49 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/ghc-8.0-det
Link : http://ghc.haskell.org/trac/ghc/changeset/6b079a206c1ead10fe0e9c169b3250a79f01549c/ghc
>---------------------------------------------------------------
commit 6b079a206c1ead10fe0e9c169b3250a79f01549c
Author: Bartosz Nitka <niteria at gmail.com>
Date: Tue May 17 05:45:43 2016 -0700
Make inert_model and inert_eqs deterministic sets
The order inert_model and intert_eqs fold affects the order that the
typechecker looks at things. I've been able to experimentally confirm
that the order of equalities and the order of the model matter for
determinism. This is just a straigthforward replacement of
nondeterministic VarEnv for deterministic DVarEnv.
Test Plan: ./validate
Reviewers: simonpj, goldfire, austin, bgamari, simonmar
Reviewed By: simonmar
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2232
GHC Trac Issues: #4012
>---------------------------------------------------------------
6b079a206c1ead10fe0e9c169b3250a79f01549c
compiler/basicTypes/VarEnv.hs | 28 +++++++++--
compiler/typecheck/TcFlatten.hs | 4 +-
compiler/typecheck/TcInteract.hs | 2 +-
compiler/typecheck/TcSMonad.hs | 58 +++++++++++-----------
compiler/utils/UniqDFM.hs | 22 +++++++-
.../tests/indexed-types/should_fail/T3330a.stderr | 5 +-
.../tests/indexed-types/should_fail/T4174.stderr | 4 +-
.../tests/indexed-types/should_fail/T4179.stderr | 6 +--
.../tests/indexed-types/should_fail/T9662.stderr | 4 +-
testsuite/tests/polykinds/T9017.stderr | 4 +-
testsuite/tests/typecheck/should_fail/T7869.stderr | 8 ++-
11 files changed, 93 insertions(+), 52 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 6b079a206c1ead10fe0e9c169b3250a79f01549c
More information about the ghc-commits
mailing list