[commit: ghc] wip/ghc-8.0-det: Make inert_model and inert_eqs deterministic sets (aaff852)
git at git.haskell.org
git at git.haskell.org
Mon Jul 18 17:58:11 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/ghc-8.0-det
Link : http://ghc.haskell.org/trac/ghc/changeset/aaff8525d1689532705b4a0d57fc338cc19bb1c9/ghc
>---------------------------------------------------------------
commit aaff8525d1689532705b4a0d57fc338cc19bb1c9
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
>---------------------------------------------------------------
aaff8525d1689532705b4a0d57fc338cc19bb1c9
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 aaff8525d1689532705b4a0d57fc338cc19bb1c9
More information about the ghc-commits
mailing list