get implementation of 'block' from the code
authorNorman Ramsey <nr@cs.tufts.edu>
Thu, 29 Jul 2010 18:15:43 +0000 (14:15 -0400)
committerNorman Ramsey <nr@cs.tufts.edu>
Thu, 29 Jul 2010 18:15:43 +0000 (14:15 -0400)
paper/mkfile
src/Compiler/Hoopl/Dataflow.hs

index 583e07d..2298dd1 100644 (file)
@@ -71,9 +71,9 @@ HOOPL=../src/Compiler/Hoopl
 comb1.tex iterf.tex pairf.tex:D: ./xsource $HOOPL/Combinators.hs
        lua $prereq
 
-dfopt.dvi: fptype.tex bodyfun.tex
+dfopt.dvi: fptype.tex bodyfun.tex block.tex
 
 dfoptdu.tex: bodyfun.tex fptype.tex
 
-cat.tex bodyfun.tex fptype.tex dg.tex node.tex:D: ./xsource $HOOPL/Dataflow.hs
+block.tex cat.tex bodyfun.tex fptype.tex dg.tex node.tex:D: ./xsource $HOOPL/Dataflow.hs
        lua ./xsource -4 $HOOPL/Dataflow.hs
index 2487f6c..053ee55 100644 (file)
@@ -187,7 +187,10 @@ arfGraph pass entries = graph
     type ARFX thing = forall e x . thing e x -> Fact e f -> m (DG f n e x, Fact x f)
     -}
     graph ::              Graph n e x -> Fact e f -> m (DG f n e x, Fact x f)
-    block :: forall e x . Block n e x -> f        -> m (DG f n e x, Fact x f)
+-- @ start block.tex -2
+    block :: forall e x . 
+             Block n e x -> f -> m (DG f n e x, Fact x f)
+-- @ end block.tex
 -- @ start node.tex -4
     node :: forall e x . (ShapeLifter e x) 
          => n e x -> f -> m (DG f n e x, Fact x f)
@@ -222,10 +225,12 @@ arfGraph pass entries = graph
              c _ _ = error "bogus GADT pattern match failure"
 
     -- Lift from nodes to blocks
+-- @ start block.tex -2
     block (BFirst  n)  = node n
     block (BMiddle n)  = node n
     block (BLast   n)  = node n
     block (BCat b1 b2) = block b1 `cat` block b2
+-- @ end block.tex
     block (BHead h n)  = block h  `cat` node n
     block (BTail n t)  = node  n  `cat` block t
     block (BClosed h t)= block h  `cat` block t