[commit: ghc] master: Improve kind-checking of type splices slightly (70b0f16)
Simon Peyton Jones
simonpj at microsoft.com
Thu Apr 5 12:40:07 CEST 2012
Repository : ssh://darcs.haskell.org//srv/darcs/ghc
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/70b0f1608784cccaf02fbbc6227c96be20ca7c7a
>---------------------------------------------------------------
commit 70b0f1608784cccaf02fbbc6227c96be20ca7c7a
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Thu Apr 5 11:39:33 2012 +0100
Improve kind-checking of type splices slightly
It is still Not Right, but can't readily be fixed until
the major overhaul of TH described in Simon PJ's 2011
GHC blog post. (Then type splices will be done in
the renamer.)
>---------------------------------------------------------------
compiler/typecheck/TcHsType.lhs | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/compiler/typecheck/TcHsType.lhs b/compiler/typecheck/TcHsType.lhs
index c29f1a4..93649ac 100644
--- a/compiler/typecheck/TcHsType.lhs
+++ b/compiler/typecheck/TcHsType.lhs
@@ -444,13 +444,14 @@ tc_hs_type (HsCoreTy ty) exp_kind
#ifdef GHCI /* Only if bootstrapped */
--- This looks highly bogus to me
+-- This looks highly suspect to me
+-- It will really only be fixed properly when we do the TH
+-- reorganisation so that type splices happen in the renamer
tc_hs_type hs_ty@(HsSpliceTy sp fvs _) exp_kind
- = do { (ty, kind) <- tcSpliceType sp fvs
+ = do { s <- getStage
+ ; traceTc "tc_hs_type: splice" (ppr sp $$ ppr s)
+ ; (ty, kind) <- tcSpliceType sp fvs
; checkExpectedKind hs_ty kind exp_kind
-
--- ; kind' <- zonkType (mkZonkTcTyVar (\ _ -> return liftedTypeKind) mkTyVarTy)
--- kind
-- -- See Note [Kind of a type splice]
; return ty }
#else
More information about the Cvs-ghc
mailing list