Move the Show deriving for Core types to a new CoreShow module.
authorMatthijs Kooijman <m.kooijman@student.utwente.nl>
Fri, 6 Mar 2009 10:21:55 +0000 (11:21 +0100)
committerMatthijs Kooijman <m.kooijman@student.utwente.nl>
Fri, 6 Mar 2009 10:21:55 +0000 (11:21 +0100)
CoreShow.hs [new file with mode: 0644]
Pretty.hs

diff --git a/CoreShow.hs b/CoreShow.hs
new file mode 100644 (file)
index 0000000..522fd39
--- /dev/null
@@ -0,0 +1,22 @@
+{-# LANGUAGE StandaloneDeriving #-}
+module CoreShow where
+
+-- This module derives Show instances for CoreSyn types.
+
+import qualified CoreSyn
+import qualified TypeRep
+
+import Outputable ( showSDoc, ppr)
+
+
+-- Derive Show for core expressions and binders, so we can see the actual
+-- structure.
+deriving instance (Show b) => Show (CoreSyn.Expr b)
+deriving instance (Show b) => Show (CoreSyn.Bind b)
+
+-- Implement dummy shows for Note and Type, so we can at least use show on
+-- expressions.
+instance Show CoreSyn.Note where
+  show n = "<note>"
+instance Show TypeRep.Type where
+  show t = "_type:(" ++ (showSDoc $ ppr t) ++ ")"
index 75c73cc095e422f0b52456d75350853738cdfe18..eb8378c6c1e1f03e640ac9ec575c5d89229851b0 100644 (file)
--- a/Pretty.hs
+++ b/Pretty.hs
@@ -1,6 +1,3 @@
--- Needed for the Show deriving for Core types
-{-# LANGUAGE StandaloneDeriving #-}
-
 module Pretty (prettyShow) where
 
 
@@ -8,9 +5,7 @@ import qualified Data.Map as Map
 import qualified Data.Foldable as Foldable
 import qualified List
 
-import qualified Var
 import qualified CoreSyn
-import qualified TypeRep
 import qualified Module
 import qualified HscTypes
 import Text.PrettyPrint.HughesPJClass
@@ -24,6 +19,7 @@ import HsValueMap
 import FlattenTypes
 import TranslatorTypes
 import VHDLTypes
+import CoreShow
 
 -- | A version of the default pPrintList method, which uses a custom function
 --   f instead of pPrint to print elements.
@@ -151,15 +147,3 @@ prettyBind (b, expr) =
   where
     b' = show b
     expr' = show expr
-
--- Derive Show for core expressions and binders, so we can see the actual
--- structure.
-deriving instance (Show b) => Show (CoreSyn.Expr b)
-deriving instance (Show b) => Show (CoreSyn.Bind b)
-
--- Implement dummy shows for Note and Type, so we can at least use show on
--- expressions.
-instance Show CoreSyn.Note where
-  show n = "<note>"
-instance Show TypeRep.Type where
-  show t = "_type:(" ++ (showSDoc $ ppr t) ++ ")"