projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add support for <{..}> and ~~> syntax as well as typing for Kappa-calculus
[ghc-hetmet.git]
/
compiler
/
typecheck
/
TcHsType.lhs
diff --git
a/compiler/typecheck/TcHsType.lhs
b/compiler/typecheck/TcHsType.lhs
index
f826e72
..
4fe6b60
100644
(file)
--- a/
compiler/typecheck/TcHsType.lhs
+++ b/
compiler/typecheck/TcHsType.lhs
@@
-370,6
+370,11
@@
kc_hs_type (HsModalBoxType ecn ty) = do
ty' <- kcLiftedType ty
return (HsModalBoxType ecn ty', liftedTypeKind)
ty' <- kcLiftedType ty
return (HsModalBoxType ecn ty', liftedTypeKind)
+kc_hs_type (HsKappaTy ty1 ty2) = do
+ ty1' <- kc_check_lhs_type ty1 (EK argTypeKind EkUnk)
+ ty2' <- kcTypeType ty2
+ return (HsKappaTy ty1' ty2', liftedTypeKind)
+
kc_hs_type (HsKindSig ty k) = do
ty' <- kc_check_lhs_type ty (EK k EkKindSig)
return (HsKindSig ty' k, k)
kc_hs_type (HsKindSig ty k) = do
ty' <- kc_check_lhs_type ty (EK k EkKindSig)
return (HsKindSig ty' k, k)
@@
-581,6
+586,11
@@
ds_type (HsModalBoxType ecn ty) = do
checkWiredInTyCon hetMetCodeTypeTyCon
return (mkHetMetCodeTypeTy (mkTyVar ecn ecKind) tau_ty)
checkWiredInTyCon hetMetCodeTypeTyCon
return (mkHetMetCodeTypeTy (mkTyVar ecn ecKind) tau_ty)
+ds_type (HsKappaTy ty1 ty2) = do
+ tau_ty1 <- dsHsType ty1
+ tau_ty2 <- dsHsType ty2
+ return (mkHetMetKappaTy tau_ty1 tau_ty2)
+
ds_type (HsTupleTy boxity tys) = do
tau_tys <- dsHsTypes tys
checkWiredInTyCon tycon
ds_type (HsTupleTy boxity tys) = do
tau_tys <- dsHsTypes tys
checkWiredInTyCon tycon