[commit: ghc] master: Revise the inert-set invariants again (1d44261)
git at git.haskell.org
git at git.haskell.org
Mon Dec 8 15:02:10 UTC 2014
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/1d44261c01fe2b8e455ed454e7c4b49d26c433b2/ghc
>---------------------------------------------------------------
commit 1d44261c01fe2b8e455ed454e7c4b49d26c433b2
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Mon Dec 8 13:23:31 2014 +0000
Revise the inert-set invariants again
In particular this patch
- Accepts that rewriting with the inert CTyEqCans should be done recursively
(hence removing the Bool result from flattenTyVarOuter)
- Refines the kick-out criterion, in paticular to avoid kick-out of (a -f-> ty)
when f cannot rewrite f. This is true of Wanteds and hence reduces kick-outs
of Wanteds, perhaps by a lot
This stuff is not fully documented because the details are still settling, but
it's looking good.
(And it validates.)
This patch includes the testsuite wibbles. perf/compiler/T5030 and
T5837 both improve in bytes-allocated (by 11% and 13% resp), which is
good. I'm not sure which of today's short series of patches is
responsible, nor do I mind much. (One could find out if necessary.)
>---------------------------------------------------------------
1d44261c01fe2b8e455ed454e7c4b49d26c433b2
compiler/typecheck/TcCanonical.hs | 2 +-
compiler/typecheck/TcFlatten.hs | 22 +++++++++-----------
compiler/typecheck/TcInteract.hs | 24 +++++++++++++++++-----
.../tests/indexed-types/should_compile/GADT1.hs | 14 +++++++++++++
testsuite/tests/perf/compiler/all.T | 6 ++++--
.../typecheck/should_fail/FrozenErrorTests.stderr | 2 +-
testsuite/tests/typecheck/should_fail/T7856.hs | 4 ++--
testsuite/tests/typecheck/should_fail/T8603.stderr | 2 +-
8 files changed, 52 insertions(+), 24 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 1d44261c01fe2b8e455ed454e7c4b49d26c433b2
More information about the ghc-commits
mailing list