[commit: ghc] master: Refactor functional dependencies a bit (eb55ec2)

git at git.haskell.org git at git.haskell.org
Fri Nov 25 17:47:42 UTC 2016


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/eb55ec2941239dee05afc6be818b129efe51660e/ghc

>---------------------------------------------------------------

commit eb55ec2941239dee05afc6be818b129efe51660e
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Thu Nov 24 13:47:02 2016 +0000

    Refactor functional dependencies a bit
    
    * Rename CoAxiom.Eqn = Pair Type to TypeEqn,
      and use it for fundeps
    
    * Use the FunDepEqn for injectivity, which lets us share a bit
      more code, and (more important) brain cells
    
    * When generating fundeps, take the max depth of the two
      constraints.  This aimed at tackling the strange loop in
      Trac #12860, but there is more to come for that.
    
    * Improve pretty-printing with -ddump-tc-trace


>---------------------------------------------------------------

eb55ec2941239dee05afc6be818b129efe51660e
 compiler/typecheck/FunDeps.hs    |  16 +++--
 compiler/typecheck/TcInteract.hs | 141 ++++++++++++++++++++-------------------
 compiler/typecheck/TcRnTypes.hs  |  13 +++-
 compiler/typecheck/TcSMonad.hs   |  10 ++-
 compiler/typecheck/TcTypeNats.hs |   4 +-
 compiler/types/CoAxiom.hs        |  10 +--
 6 files changed, 106 insertions(+), 88 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 eb55ec2941239dee05afc6be818b129efe51660e


More information about the ghc-commits mailing list