[commit: ghc] master: Simplify kind generalisation, and fix Trac #7916 (ce89bde)

Simon Peyton Jones simonpj at microsoft.com
Tue May 21 13:33:09 CEST 2013


Repository : http://darcs.haskell.org/ghc.git/

On branch  : master

https://github.com/ghc/ghc/commit/ce89bdecac936bff9378b60f156d8c560c3c1380

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

commit ce89bdecac936bff9378b60f156d8c560c3c1380
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Tue May 21 12:29:54 2013 +0100

    Simplify kind generalisation, and fix Trac #7916
    
    A buglet that exposed an opportunity for some welcome refactoring
    and simplification.  Main changes
    
    * TcMType.zonkQuantifiedTyVars is replaced by quantifyTyVars, which
      does a bit more zonking (so that its clients do not need to)
    
    * TcHsType.kindGeneralise becomes a bit simpler, and hands off
      to quantifyTyVars
    
    * A bit of simplification of the hacky code in TcTyClsDcls.tcConDecl,
      where we figure out how to generalise the data constructor's type
    
    * Improve the error message from badExistential when a constructor
      has an existential type, by printing the offending type
    
    * Some consequential simplification in simplifyInfer.

 compiler/basicTypes/VarSet.lhs      |   4 +-
 compiler/typecheck/TcHsType.lhs     |  22 +--
 compiler/typecheck/TcMType.lhs      | 324 ++++++++++++++++++++----------------
 compiler/typecheck/TcRules.lhs      |  14 +-
 compiler/typecheck/TcSimplify.lhs   |  66 +++-----
 compiler/typecheck/TcSplice.lhs     |   9 +-
 compiler/typecheck/TcTyClsDecls.lhs |  58 +++----
 compiler/utils/UniqSet.lhs          |   3 +
 8 files changed, 254 insertions(+), 246 deletions(-)


Diff suppressed because of size. To see it, use:

    git show ce89bdecac936bff9378b60f156d8c560c3c1380



More information about the ghc-commits mailing list