Massive patch for the first months work adding System FC to GHC #14
[ghc-hetmet.git] / compiler / hsSyn / HsExpr.lhs
index f7d7bda..dbe2937 100644 (file)
@@ -239,21 +239,6 @@ The renamer translates them into the Right Thing.
 Everything from here on appears only in typechecker output.
 
 \begin{code}
-  | TyLam                      -- TRANSLATION
-               [TyVar]
-               (LHsExpr id)
-  | TyApp                      -- TRANSLATION
-               (LHsExpr id) -- generated by Spec
-               [Type]
-
-  -- DictLam and DictApp are "inverses"
-  |  DictLam
-               [id]
-               (LHsExpr id)
-  |  DictApp
-               (LHsExpr id)
-               [id]
-
   |  HsCoerce  ExprCoFn        -- TRANSLATION
                (HsExpr id)
 
@@ -394,33 +379,8 @@ ppr_expr (EAsPat v e) = ppr v <> char '@' <> pprParendExpr e
 ppr_expr (HsSCC lbl expr)
   = sep [ ptext SLIT("_scc_") <+> doubleQuotes (ftext lbl), pprParendExpr expr ]
 
-ppr_expr (TyLam tyvars expr)
-  = hang (hsep [ptext SLIT("/\\"), 
-               hsep (map (pprBndr LambdaBind) tyvars), 
-               ptext SLIT("->")])
-        4 (ppr_lexpr expr)
-
-ppr_expr (TyApp expr [ty])
-  = hang (ppr_lexpr expr) 4 (pprParendType ty)
-
-ppr_expr (TyApp expr tys)
-  = hang (ppr_lexpr expr)
-        4 (brackets (interpp'SP tys))
-
-ppr_expr (DictLam dictvars expr)
-  = hang (hsep [ptext SLIT("\\{-dict-}"), 
-               hsep (map (pprBndr LambdaBind) dictvars), 
-               ptext SLIT("->")])
-        4 (ppr_lexpr expr)
-
-ppr_expr (DictApp expr [dname])
-  = hang (ppr_lexpr expr) 4 (ppr dname)
-
-ppr_expr (DictApp expr dnames)
-  = hang (ppr_lexpr expr)
-        4 (brackets (interpp'SP dnames))
-
-ppr_expr (HsCoerce co_fn e) = ppr_expr e
+ppr_expr (HsCoerce co_fn e)
+  = ppr_expr e <+> ptext SLIT("`cast`") <+> ppr co_fn
 
 ppr_expr (HsType id) = ppr id