Added 'instance Edges n => Edges (ZBlock n)'
authorNorman Ramsey <nr@cs.tufts.edu>
Sat, 17 Apr 2010 04:55:57 +0000 (00:55 -0400)
committerNorman Ramsey <nr@cs.tufts.edu>
Sat, 17 Apr 2010 04:55:57 +0000 (00:55 -0400)
src/Compiler/Hoopl/Zipper.hs

index ae603bf..acd529c 100644 (file)
@@ -24,6 +24,15 @@ data ZBlock n e x where
 type ZGraph = Graph' ZBlock
 type ZBody  = Body'  ZBlock
 
+instance Edges n => Edges (ZBlock n) where
+  entryLabel (ZFirst n)    = entryLabel n
+  entryLabel (ZHead h _)   = entryLabel h
+  entryLabel (ZClosed h _) = entryLabel h
+  successors (ZLast n)     = successors n
+  successors (ZTail _ t)   = successors t
+  successors (ZClosed _ t) = successors t
+
+
 ----------------------------------------------------------------
 
 -- | A block is "front biased" if the left child of every