import Class ( classTyCon )
import Name ( Name )
import NameSet
-import TysWiredIn ( mkListTy, mkTupleTy, genUnitTyCon )
+import TysWiredIn ( mkListTy, mkPArrTy, mkTupleTy, genUnitTyCon )
import BasicTypes ( Boxity(..) )
import SrcLoc ( SrcLoc )
import Util ( lengthIs )
= kcLiftedType ty `thenTc` \ tau_ty ->
returnTc liftedTypeKind
+kcHsType (HsPArrTy ty)
+ = kcLiftedType ty `thenTc` \ tau_ty ->
+ returnTc liftedTypeKind
+
kcHsType (HsTupleTy (HsTupCon _ boxity _) tys)
= mapTc kcTypeType tys `thenTc_`
returnTc (case boxity of
= tc_type ty `thenTc` \ tau_ty ->
returnTc (mkListTy tau_ty)
+tc_type (HsPArrTy ty)
+ = tc_type ty `thenTc` \ tau_ty ->
+ returnTc (mkPArrTy tau_ty)
+
tc_type (HsTupleTy (HsTupCon _ boxity arity) tys)
= ASSERT( tys `lengthIs` arity )
tc_types tys `thenTc` \ tau_tys ->