Repository : ssh://darcs.haskell.org//srv/darcs/packages/hoopl On branch : simonmar-hoopl-opt
http://hackage.haskell.org/trac/ghc/changeset/b01f65d38345b00084e033371bb93943902132dd >--------------------------------------------------------------- commit b01f65d38345b00084e033371bb93943902132dd Author: Simon Marlow <[email protected]> Date: Mon Jan 23 12:11:56 2012 +0000 a bit more strictness and optimisation in GraphUtil.cat >--------------------------------------------------------------- src/Compiler/Hoopl/GraphUtil.hs | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Compiler/Hoopl/GraphUtil.hs b/src/Compiler/Hoopl/GraphUtil.hs index 50e5a7e..deb699b 100644 --- a/src/Compiler/Hoopl/GraphUtil.hs +++ b/src/Compiler/Hoopl/GraphUtil.hs @@ -56,15 +56,15 @@ cat x y = case x of BNil -> y BlockCO l b1 -> case y of - BlockOC b2 n -> BlockCC l (b1 `cat` b2) n + BlockOC b2 n -> (BlockCC l $! (b1 `cat` b2)) n BNil -> x - BMiddle n -> BlockCO l (b1 `BHead` n) - BCat{} -> BlockCO l (b1 `BCat` y) - BHead{} -> BlockCO l (b1 `BCat` y) - BTail{} -> BlockCO l (b1 `BCat` y) + BMiddle n -> BlockCO l $! (b1 `cat` y) + BCat{} -> BlockCO l $! (b1 `cat` y) + BHead{} -> BlockCO l $! (b1 `cat` y) + BTail{} -> BlockCO l $! (b1 `cat` y) BMiddle n -> case y of - BlockOC b2 n2 -> BlockOC (n `BTail` b2) n2 + BlockOC b2 n2 -> (BlockOC $! (x `cat` b2)) n2 BNil -> x BMiddle{} -> BTail n y BCat{} -> BTail n y @@ -72,7 +72,7 @@ cat x y = case x of BTail{} -> BTail n y BCat{} -> case y of - BlockOC b3 n2 -> BlockOC (x `cat` b3) n2 + BlockOC b3 n2 -> (BlockOC $! (x `cat` b3)) n2 BNil -> x BMiddle n -> BHead x n BCat{} -> BCat x y @@ -80,7 +80,7 @@ cat x y = case x of BTail{} -> BCat x y BHead{} -> case y of - BlockOC b2 n2 -> BlockOC (x `cat` b2) n2 + BlockOC b2 n2 -> (BlockOC $! (x `cat` b2)) n2 BNil -> x BMiddle n -> BHead x n BCat{} -> BCat x y @@ -89,7 +89,7 @@ cat x y = case x of BTail{} -> case y of - BlockOC b2 n2 -> BlockOC (x `BCat` b2) n2 + BlockOC b2 n2 -> (BlockOC $! (x `cat` b2)) n2 BNil -> x BMiddle n -> BHead x n BCat{} -> BCat x y _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
