[commit: ghc] master: Split SynTyCon to SynonymTyCon and FamilyTyCon (696fc4b)

git at git.haskell.org git at git.haskell.org
Thu Nov 20 19:06:19 UTC 2014


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

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

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

commit 696fc4ba5b36f478d8daec56656ebf7d99e18159
Author: Jan Stolarek <jan.stolarek at p.lodz.pl>
Date:   Wed Nov 19 22:03:05 2014 +0100

    Split SynTyCon to SynonymTyCon and FamilyTyCon
    
    This patch refactors internal representation of type synonyms and type families by splitting them into two separate data constructors of TyCon data type. The main motivation is is that some fields make sense only for type synonyms and some make sense only for type families. This will be even more true with the upcoming injective type families.
    
    There is also some refactoring of names to keep the naming constistent. And thus tc_kind field has become tyConKind and tc_roles has become tcRoles. Both changes are not visible from the outside of TyCon module.
    
    Updates haddock submodule
    
    Reviewers: simonpj
    
    Differential Revision: https://phabricator.haskell.org/D508
    
    GHC Trac Issues: #9812


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

696fc4ba5b36f478d8daec56656ebf7d99e18159
 compiler/coreSyn/CoreLint.lhs            |   3 +-
 compiler/iface/BuildTyCl.lhs             |  26 +-
 compiler/iface/IfaceSyn.lhs              |  86 +++---
 compiler/iface/MkIface.lhs               |  54 ++--
 compiler/iface/TcIface.lhs               |  41 ++-
 compiler/main/GHC.hs                     |   6 +-
 compiler/prelude/TysPrim.lhs             |   7 +-
 compiler/stgSyn/StgLint.lhs              |   2 +-
 compiler/typecheck/TcCanonical.lhs       |   4 +-
 compiler/typecheck/TcDeriv.lhs           |   3 +-
 compiler/typecheck/TcErrors.lhs          |   4 +-
 compiler/typecheck/TcFlatten.lhs         |   4 +-
 compiler/typecheck/TcInstDcls.lhs        |   4 +-
 compiler/typecheck/TcInteract.lhs        |   6 +-
 compiler/typecheck/TcRnDriver.lhs        |  22 +-
 compiler/typecheck/TcRnTypes.lhs         |   2 +-
 compiler/typecheck/TcSMonad.lhs          |   4 +-
 compiler/typecheck/TcSimplify.lhs        |   4 +-
 compiler/typecheck/TcSplice.lhs          |   2 +-
 compiler/typecheck/TcTyClsDecls.lhs      |  25 +-
 compiler/typecheck/TcTyDecls.lhs         |   2 +-
 compiler/typecheck/TcType.lhs            |  14 +-
 compiler/typecheck/TcTypeNats.hs         |  14 +-
 compiler/typecheck/TcUnify.lhs           |   6 +-
 compiler/typecheck/TcValidity.lhs        |  13 +-
 compiler/types/FamInstEnv.lhs            |   4 +-
 compiler/types/TyCon.lhs                 | 460 +++++++++++++++++++------------
 compiler/vectorise/Vectorise/Type/Env.hs |   5 +-
 utils/haddock                            |   2 +-
 29 files changed, 488 insertions(+), 341 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 696fc4ba5b36f478d8daec56656ebf7d99e18159


More information about the ghc-commits mailing list