[commit: ghc] master: Roleify TcCoercion (9d643cf)

git at git.haskell.org git at git.haskell.org
Wed Nov 27 15:26:29 UTC 2013


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

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

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

commit 9d643cf6f2928c6e87ef6ae55fff001a0bf4c26b
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Wed Nov 27 14:21:39 2013 +0000

    Roleify TcCoercion
    
    Previously, TcCoercion were only used to represent boxed Nominal
    coercions. In order to also talk about boxed Representational coercions
    in the type checker, we add Roles to TcCoercion. Again, we closely
    mirror Coercion.
    
    The roles are verified by a few assertions, and at the latest after
    conversion to Coercion. I have put my trust in the comprehensiveness of
    the testsuite here, but any role error after desugaring popping up now
    might be caused by this refactoring.


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

9d643cf6f2928c6e87ef6ae55fff001a0bf4c26b
 compiler/coreSyn/MkCore.lhs        |   19 ++-
 compiler/deSugar/DsArrows.lhs      |    2 +-
 compiler/deSugar/DsBinds.lhs       |   86 +++++++-------
 compiler/deSugar/DsExpr.lhs        |    7 +-
 compiler/deSugar/Match.lhs         |   10 +-
 compiler/hsSyn/HsUtils.lhs         |   10 +-
 compiler/typecheck/Inst.lhs        |    3 +-
 compiler/typecheck/TcArrows.lhs    |    7 +-
 compiler/typecheck/TcBinds.lhs     |    2 +-
 compiler/typecheck/TcCanonical.lhs |   28 +++--
 compiler/typecheck/TcEvidence.lhs  |  231 +++++++++++++++++++++++-------------
 compiler/typecheck/TcExpr.lhs      |   10 +-
 compiler/typecheck/TcHsSyn.lhs     |   41 ++++---
 compiler/typecheck/TcInteract.lhs  |   10 +-
 compiler/typecheck/TcMType.lhs     |    2 +-
 compiler/typecheck/TcPat.lhs       |    6 +-
 compiler/typecheck/TcSMonad.lhs    |    7 +-
 compiler/typecheck/TcUnify.lhs     |   18 +--
 compiler/types/Coercion.lhs        |    2 +-
 compiler/types/Type.lhs            |   25 +++-
 20 files changed, 306 insertions(+), 220 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 9d643cf6f2928c6e87ef6ae55fff001a0bf4c26b


More information about the ghc-commits mailing list