[commit: ghc] wip/spj-improvement: Checkpoint on improving improvement (4a9bb76)
git at git.haskell.org
git at git.haskell.org
Mon Jun 8 08:16:16 UTC 2015
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/spj-improvement
Link : http://ghc.haskell.org/trac/ghc/changeset/4a9bb76f932a06eb94dc14ad50f34fd14e1ddaf2/ghc
>---------------------------------------------------------------
commit 4a9bb76f932a06eb94dc14ad50f34fd14e1ddaf2
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Thu May 7 09:07:51 2015 +0100
Checkpoint on improving improvement
This patch allows unification variables to unify with fmvs,
So that from, say alpha ~ fmv
we get alpha := fmv
But it iterates forever on
F alpha ~ alpha
because we flatten to
F alpha ~ fmv
alpha ~ fmv
then unify to
F fmv ~ fmv
The unflatten
F beta ~ beta
and we are back to where we started.
Dimitrios and I have new idas about saturation; I just wanted
to commit this to a branch.
>---------------------------------------------------------------
4a9bb76f932a06eb94dc14ad50f34fd14e1ddaf2
compiler/typecheck/TcCanonical.hs | 6 +++--
compiler/typecheck/TcFlatten.hs | 20 ++++++++++++-----
compiler/typecheck/TcInteract.hs | 28 +++++++++++++++---------
compiler/typecheck/TcSMonad.hs | 46 ++++++++++++++++++++++++---------------
compiler/typecheck/TcSimplify.hs | 16 +++++++-------
compiler/typecheck/TcType.hs | 9 ++++----
6 files changed, 77 insertions(+), 48 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 4a9bb76f932a06eb94dc14ad50f34fd14e1ddaf2
More information about the ghc-commits
mailing list