Only thing left is the typechecker
authorRichard Eisenberg <eir@cis.upenn.edu>
Sat, 27 Jun 2015 16:50:20 +0000 (12:50 -0400)
committerRichard Eisenberg <eir@cis.upenn.edu>
Sat, 27 Jun 2015 16:56:01 +0000 (12:56 -0400)
compiler/deSugar/DsExpr.hs
compiler/hsSyn/HsExpr.hs
compiler/typecheck/TcHsSyn.hs

index a6cb98d..abc2eea 100644 (file)
@@ -680,7 +680,7 @@ dsExpr (EWildPat      {})  = panic "dsExpr:EWildPat"
 dsExpr (EAsPat        {})  = panic "dsExpr:EAsPat"
 dsExpr (EViewPat      {})  = panic "dsExpr:EViewPat"
 dsExpr (ELazyPat      {})  = panic "dsExpr:ELazyPat"
-dsExpr (HsType        {})  = panic "dsExpr:HsType"
+dsExpr (HsType        {})  = panic "dsExpr:HsType" -- removed by typechecker
 dsExpr (HsDo          {})  = panic "dsExpr:HsDo"
 
 
index b6b190c..9b6b6c6 100644 (file)
@@ -725,7 +725,7 @@ ppr_expr (HsSCC _ (_,lbl) expr)
           pprParendExpr expr ]
 
 ppr_expr (HsWrap co_fn e) = pprHsWrapper (pprExpr e) co_fn
-ppr_expr (HsType id)      = ppr id
+ppr_expr (HsType ty)      = char '@' <> pprParendHsType (unLoc ty)
 
 ppr_expr (HsSpliceE s)         = pprSplice s
 ppr_expr (HsBracket b)         = pprHsBracket b
index c461d51..032a732 100644 (file)
@@ -299,8 +299,8 @@ zonkTopLExpr :: LHsExpr TcId -> TcM (LHsExpr Id)
 zonkTopLExpr e = zonkLExpr emptyZonkEnv e
 
 zonkTopDecls :: Bag EvBind
-             -> LHsBinds TcId 
-             -> Maybe (Located [LIE RdrName]) 
+             -> LHsBinds TcId
+             -> Maybe (Located [LIE RdrName])
              -> NameSet
              -> [LRuleDecl TcId] -> [LVectDecl TcId] -> [LTcSpecPrag] -> [LForeignDecl TcId]
              -> TcM ([Id],
@@ -1474,7 +1474,7 @@ zonkCoToCo env co
                                    do { (env', tv') <- zonkTyBndrX env tv
                                       ; co' <- zonkCoToCo env' co
                                       ; return (mkForAllCo tv' co') }
-                                   
+
 zonkTvCollecting :: TcRef TyVarSet -> UnboundTyVarZonker
 -- This variant collects unbound type variables in a mutable variable
 -- Works on both types and kinds