summaryrefslogtreecommitdiff
path: root/compiler/utils/Digraph.lhs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/utils/Digraph.lhs')
-rw-r--r--compiler/utils/Digraph.lhs17
1 files changed, 4 insertions, 13 deletions
diff --git a/compiler/utils/Digraph.lhs b/compiler/utils/Digraph.lhs
index 1bb460674c..9ae84a7897 100644
--- a/compiler/utils/Digraph.lhs
+++ b/compiler/utils/Digraph.lhs
@@ -47,7 +47,7 @@ module Digraph(
------------------------------------------------------------------------------
-import Util ( sortLe, minWith, count )
+import Util ( minWith, count )
import Outputable
import Maybes ( expectJust )
import MonadUtils ( allM )
@@ -59,7 +59,8 @@ import Control.Monad.ST
-- std interfaces
import Data.Maybe
import Data.Array
-import Data.List ( (\\) )
+import Data.List hiding (transpose)
+import Data.Ord
import Data.Array.ST
import qualified Data.Map as Map
import qualified Data.Set as Set
@@ -140,8 +141,7 @@ reduceNodesIntoVertices nodes key_extractor = (bounds, (!) vertex_map, key_verte
max_v = length nodes - 1
bounds = (0, max_v) :: (Vertex, Vertex)
- sorted_nodes = let n1 `le` n2 = (key_extractor n1 `compare` key_extractor n2) /= GT
- in sortLe le nodes
+ sorted_nodes = sortBy (comparing key_extractor) nodes
numbered_nodes = zipWith (,) [0..] sorted_nodes
key_map = array bounds [(i, key_extractor node) | (i, node) <- numbered_nodes]
@@ -240,9 +240,6 @@ flattenSCC (CyclicSCC vs) = vs
instance Outputable a => Outputable (SCC a) where
ppr (AcyclicSCC v) = text "NONREC" $$ (nest 3 (ppr v))
ppr (CyclicSCC vs) = text "REC" $$ (nest 3 (vcat (map ppr vs)))
-instance PlatformOutputable a => PlatformOutputable (SCC a) where
- pprPlatform platform (AcyclicSCC v) = text "NONREC" $$ (nest 3 (pprPlatform platform v))
- pprPlatform platform (CyclicSCC vs) = text "REC" $$ (nest 3 (vcat (map (pprPlatform platform) vs)))
\end{code}
%************************************************************************
@@ -429,12 +426,6 @@ instance Show a => Show (Tree a) where
showTree :: Show a => Tree a -> String
showTree = drawTree . mapTree show
-instance Show a => Show (Forest a) where
- showsPrec _ f s = showForest f ++ s
-
-showForest :: Show a => Forest a -> String
-showForest = unlines . map showTree
-
drawTree :: Tree String -> String
drawTree = unlines . draw