Move Outputable instance for FloatBind to the data type definition
authorSimon Peyton Jones <simonpj@microsoft.com>
Fri, 1 Aug 2014 15:39:20 +0000 (16:39 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Thu, 7 Aug 2014 08:55:13 +0000 (09:55 +0100)
compiler/coreSyn/MkCore.lhs
compiler/simplCore/FloatOut.lhs

index 5213f92..3ba8b1d 100644 (file)
@@ -415,12 +415,17 @@ mkBigCoreTupTy = mkChunkified mkBoxedTupleTy
 %************************************************************************
 
 \begin{code}
-data FloatBind 
+data FloatBind
   = FloatLet  CoreBind
-  | FloatCase CoreExpr Id AltCon [Var]       
+  | FloatCase CoreExpr Id AltCon [Var]
       -- case e of y { C ys -> ... }
       -- See Note [Floating cases] in SetLevels
 
+instance Outputable FloatBind where
+  ppr (FloatLet b) = ptext (sLit "LET") <+> ppr b
+  ppr (FloatCase e b c bs) = hang (ptext (sLit "CASE") <+> ppr e <+> ptext (sLit "of") <+> ppr b)
+                                2 (ppr c <+> ppr bs)
+
 wrapFloat :: FloatBind -> CoreExpr -> CoreExpr
 wrapFloat (FloatLet defns)       body = Let defns body
 wrapFloat (FloatCase e b con bs) body = Case e b (exprType body) [(con, bs, body)]
index dbab552..37d6dc8 100644 (file)
@@ -458,11 +458,6 @@ data FloatBinds  = FB !(Bag FloatLet)              -- Destined for top level
                      !MajorEnv                 -- Levels other than top
      -- See Note [Representation of FloatBinds]
 
-instance Outputable FloatBind where
-  ppr (FloatLet b) = ptext (sLit "LET") <+> ppr b
-  ppr (FloatCase e b c bs) = hang (ptext (sLit "CASE") <+> ppr e <+> ptext (sLit "of") <+> ppr b)
-                                2 (ppr c <+> ppr bs)
-
 instance Outputable FloatBinds where
   ppr (FB fbs defs) 
       = ptext (sLit "FB") <+> (braces $ vcat