[commit: containers] master: D.IntMap.Strict.mapEitherWithKey: Make spine strict (d0e509b)

Ian Lynagh igloo at earth.li
Thu Feb 23 01:14:15 CET 2012


Repository : ssh://darcs.haskell.org//srv/darcs/packages/containers

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/d0e509bd03f1ed26b7e5191a934539a95ec9cd7e

>---------------------------------------------------------------

commit d0e509bd03f1ed26b7e5191a934539a95ec9cd7e
Author: Johan Tibell <johan.tibell at gmail.com>
Date:   Mon Nov 21 08:47:03 2011 -0800

    D.IntMap.Strict.mapEitherWithKey: Make spine strict

>---------------------------------------------------------------

 Data/IntMap/Strict.hs |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Data/IntMap/Strict.hs b/Data/IntMap/Strict.hs
index da4f940..5bd31a0 100644
--- a/Data/IntMap/Strict.hs
+++ b/Data/IntMap/Strict.hs
@@ -760,7 +760,7 @@ mapEither f m
 
 mapEitherWithKey :: (Key -> a -> Either b c) -> IntMap a -> (IntMap b, IntMap c)
 mapEitherWithKey f (Bin p m l r)
-  = (bin p m l1 r1, bin p m l2 r2)
+  = bin p m l1 r1 `strictPair` bin p m l2 r2
   where
     (l1,l2) = mapEitherWithKey f l
     (r1,r2) = mapEitherWithKey f r





More information about the Cvs-libraries mailing list