[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