Fix scoped type variables for expression type signatures
[ghc-hetmet.git] / compiler / coreSyn / PprCore.lhs
index 36c7df0..8713e74 100644 (file)
@@ -40,7 +40,7 @@ import IdInfo         ( cprInfo, ppCprInfo, strictnessInfo, ppStrictnessInfo )
 import DataCon         ( dataConTyCon )
 import TyCon           ( tupleTyConBoxity, isTupleTyCon )
 import Type            ( pprParendType, pprType, pprParendKind )
-import Coercion         ( coercionKindTyConApp )
+import Coercion         ( coercionKindPredTy )
 import BasicTypes      ( tupleParens, isNoOcc, isAlwaysActive )
 import Util             ( lengthIs )
 import Outputable
@@ -128,7 +128,7 @@ ppr_expr add_par (Cast expr co)
     sep [pprParendExpr expr, 
         ptext SLIT("`cast`") <+> parens (pprCo co)]
   where
-    pprCo co = sep [ppr co, dcolon <+> ppr (coercionKindTyConApp co)]
+    pprCo co = sep [ppr co, dcolon <+> ppr (coercionKindPredTy co)]
         
 
 ppr_expr add_par expr@(Lam _ _)
@@ -165,11 +165,9 @@ ppr_expr add_par (Case expr var ty [(con,args,rhs)])
   = add_par $
     sep [sep [ptext SLIT("case") <+> pprCoreExpr expr,
              ifPprDebug (braces (ppr ty)),
-             hsep [ptext SLIT("of"),
-                   ppr_bndr var, 
-                   char '{',
-                   ppr_case_pat con args
-         ]],
+             sep [ptext SLIT("of") <+> ppr_bndr var, 
+                  char '{' <+> ppr_case_pat con args]
+         ],
         pprCoreExpr rhs,
         char '}'
     ]
@@ -242,7 +240,7 @@ ppr_case_pat con@(DataAlt dc) args
     tc = dataConTyCon dc
 
 ppr_case_pat con args
-  = ppr con <+> hsep (map ppr_bndr args) <+> arrow
+  = ppr con <+> sep (map ppr_bndr args) <+> arrow
   where
     ppr_bndr = pprBndr CaseBind