Repository : ssh://darcs.haskell.org//srv/darcs/packages/hoopl On branch : master
http://hackage.haskell.org/trac/ghc/changeset/2c5bc7b1814663e42587313da17d8c610cf0cc86 >--------------------------------------------------------------- commit 2c5bc7b1814663e42587313da17d8c610cf0cc86 Author: Simon Marlow <[email protected]> Date: Tue Jul 17 10:12:31 2012 +0100 small optimisations to blockSnoc and blockCons >--------------------------------------------------------------- src/Compiler/Hoopl/Block.hs | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Compiler/Hoopl/Block.hs b/src/Compiler/Hoopl/Block.hs index 920ba73..0acbd27 100644 --- a/src/Compiler/Hoopl/Block.hs +++ b/src/Compiler/Hoopl/Block.hs @@ -125,8 +125,8 @@ emptyBlock = BNil blockCons :: n O O -> Block n O x -> Block n O x blockCons n b = case b of - BlockOC b l -> BlockOC (n `BCons` b) l - BNil{} -> n `BCons` b + BlockOC b l -> (BlockOC $! (n `blockCons` b)) l + BNil{} -> BMiddle n BMiddle{} -> n `BCons` b BCat{} -> n `BCons` b BSnoc{} -> n `BCons` b @@ -134,8 +134,8 @@ blockCons n b = case b of blockSnoc :: Block n e O -> n O O -> Block n e O blockSnoc b n = case b of - BlockCO f b -> BlockCO f (b `BSnoc` n) - BNil{} -> b `BSnoc` n + BlockCO f b -> BlockCO f $! (b `blockSnoc` n) + BNil{} -> BMiddle n BMiddle{} -> b `BSnoc` n BCat{} -> b `BSnoc` n BSnoc{} -> b `BSnoc` n _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
