X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FhsSyn%2FHsExpr.lhs;fp=compiler%2FhsSyn%2FHsExpr.lhs;h=8ea0c4fbf57fe9c06e1fa2cc7f417d0d455f9dc9;hp=c3c372d3d39d4767dc48d512772ecc0c8609e58c;hb=9241ac84d10f7e6b23841da2c0765275072ad7c1;hpb=f22c873e99d5b371a03d249febb89195a4fda2fc diff --git a/compiler/hsSyn/HsExpr.lhs b/compiler/hsSyn/HsExpr.lhs index c3c372d..8ea0c4f 100644 --- a/compiler/hsSyn/HsExpr.lhs +++ b/compiler/hsSyn/HsExpr.lhs @@ -106,6 +106,10 @@ data HsExpr id | HsApp (LHsExpr id) (LHsExpr id) -- Application + | HsKappa (MatchGroup id) + + | HsKappaApp (LHsExpr id) (LHsExpr id) + -- Operator applications: -- NB Bracketed ops such as (+) come out as Vars. @@ -360,13 +364,15 @@ ppr_expr (HsIPVar v) = ppr v ppr_expr (HsLit lit) = ppr lit ppr_expr (HsOverLit lit) = ppr lit ppr_expr (HsPar e) = parens (ppr_lexpr e) -ppr_expr (HsHetMetBrak _ e) = ptext (sLit "<[") <> (ppr_lexpr e) <> ptext (sLit "]>") -ppr_expr (HsHetMetEsc _ _ e) = ptext (sLit "~~") <> (ppr_lexpr e) -ppr_expr (HsHetMetCSP _ e) = ptext (sLit "%%") <> (ppr_lexpr e) +ppr_expr (HsHetMetBrak _ e) = ptext (sLit "<[") <> (ppr_lexpr e) <> ptext (sLit "]>") +ppr_expr (HsHetMetEsc _ _ e) = ptext (sLit "~~") <> (ppr_lexpr e) +ppr_expr (HsHetMetCSP _ e) = ptext (sLit "%%") <> (ppr_lexpr e) ppr_expr (HsCoreAnn s e) = vcat [ptext (sLit "HsCoreAnn") <+> ftext s, ppr_lexpr e] +ppr_expr (HsKappaApp e1 e2) = ppr_expr $ HsApp e1 e2 +ppr_expr (HsKappa e) = ppr_expr $ HsLam e ppr_expr (HsApp e1 e2) = let (fun, args) = collect_args e1 [e2] in hang (ppr_lexpr fun) 2 (sep (map pprParendExpr args))