[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