[commit: ghc] master: Fix the treatment of lexically scoped kind variables (Trac #8856) (cf1a0f9)
git at git.haskell.org
git at git.haskell.org
Fri Mar 7 16:52:52 UTC 2014
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/cf1a0f971966af633fbd932ad012ce716680465b/ghc
>---------------------------------------------------------------
commit cf1a0f971966af633fbd932ad012ce716680465b
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Fri Mar 7 16:50:17 2014 +0000
Fix the treatment of lexically scoped kind variables (Trac #8856)
The issue here is described in Note [Binding scoped type variables] in
TcPat. When implementing this fix I was able to make things quite a
bit simpler:
* The type variables in a type signature now never unify
with each other, and so can be straightfoward skolems.
* We only need the SigTv stuff for signatures in patterns,
and for kind variables.
>---------------------------------------------------------------
cf1a0f971966af633fbd932ad012ce716680465b
compiler/typecheck/FamInst.lhs | 2 +-
compiler/typecheck/TcBinds.lhs | 45 +++------------
compiler/typecheck/TcExpr.lhs | 9 ++-
compiler/typecheck/TcMType.lhs | 49 ++++++----------
compiler/typecheck/TcPat.lhs | 60 ++++++++++++++++----
compiler/typecheck/TcPatSyn.lhs | 2 +-
compiler/typecheck/TcType.lhs | 36 +++++-------
compiler/vectorise/Vectorise/Generic/PData.hs | 2 +-
testsuite/tests/typecheck/should_compile/MutRec.hs | 11 ++++
testsuite/tests/typecheck/should_compile/all.T | 1 +
10 files changed, 107 insertions(+), 110 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 cf1a0f971966af633fbd932ad012ce716680465b
More information about the ghc-commits
mailing list