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

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/7b730517d4e3525b7a823d0d9ff415d1dcc55d71

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

commit 7b730517d4e3525b7a823d0d9ff415d1dcc55d71
Author: Milan Straka <[email protected]>
Date:   Wed Nov 23 21:17:20 2011 +0100

    Updated errorneous documentation.
    
    Comments to update{Min,Max}[WithKey] were previously taken from
    Data.Map and were wrong.
    
    In Data.Map, the update function returns Maybe and possibly removes the
    value.  But Data.IntMap version returns only the value and cannot cause
    the maximum to be removed.

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

 Data/IntMap/Base.hs   |   12 ++++--------
 Data/IntMap/Strict.hs |   12 ++++--------
 2 files changed, 8 insertions(+), 16 deletions(-)

diff --git a/Data/IntMap/Base.hs b/Data/IntMap/Base.hs
index 5890f14..eeaa72e 100644
--- a/Data/IntMap/Base.hs
+++ b/Data/IntMap/Base.hs
@@ -867,8 +867,7 @@ intersectionWithKey _ _ Nil = Nil
 
 -- | /O(log n)/. Update the value at the minimal key.
 --
--- > updateMinWithKey (\ k a -> Just ((show k) ++ ":" ++ a)) (fromList 
[(5,"a"), (3,"b")]) == fromList [(3,"3:b"), (5,"a")]
--- > updateMinWithKey (\ _ _ -> Nothing)                     (fromList 
[(5,"a"), (3,"b")]) == singleton 5 "a"
+-- > updateMinWithKey (\ k a -> (show k) ++ ":" ++ a) (fromList [(5,"a"), 
(3,"b")]) == fromList [(3,"3:b"), (5,"a")]
 
 updateMinWithKey :: (Key -> a -> a) -> IntMap a -> IntMap a
 updateMinWithKey f t
@@ -887,8 +886,7 @@ updateMinWithKeyUnsigned f t
 
 -- | /O(log n)/. Update the value at the maximal key.
 --
--- > updateMaxWithKey (\ k a -> Just ((show k) ++ ":" ++ a)) (fromList 
[(5,"a"), (3,"b")]) == fromList [(3,"b"), (5,"5:a")]
--- > updateMaxWithKey (\ _ _ -> Nothing)                     (fromList 
[(5,"a"), (3,"b")]) == singleton 3 "b"
+-- > updateMaxWithKey (\ k a -> (show k) ++ ":" ++ a) (fromList [(5,"a"), 
(3,"b")]) == fromList [(3,"b"), (5,"5:a")]
 
 updateMaxWithKey :: (Key -> a -> a) -> IntMap a -> IntMap a
 updateMaxWithKey f t
@@ -951,16 +949,14 @@ minViewUnsigned t
 
 -- | /O(log n)/. Update the value at the maximal key.
 --
--- > updateMax (\ a -> Just ("X" ++ a)) (fromList [(5,"a"), (3,"b")]) == 
fromList [(3, "b"), (5, "Xa")]
--- > updateMax (\ _ -> Nothing)         (fromList [(5,"a"), (3,"b")]) == 
singleton 3 "b"
+-- > updateMax (\ a -> "X" ++ a) (fromList [(5,"a"), (3,"b")]) == fromList 
[(3, "b"), (5, "Xa")]
 
 updateMax :: (a -> a) -> IntMap a -> IntMap a
 updateMax f = updateMaxWithKey (const f)
 
 -- | /O(log n)/. Update the value at the minimal key.
 --
--- > updateMin (\ a -> Just ("X" ++ a)) (fromList [(5,"a"), (3,"b")]) == 
fromList [(3, "Xb"), (5, "a")]
--- > updateMin (\ _ -> Nothing)         (fromList [(5,"a"), (3,"b")]) == 
singleton 5 "a"
+-- > updateMin (\ a -> "X" ++ a) (fromList [(5,"a"), (3,"b")]) == fromList 
[(3, "Xb"), (5, "a")]
 
 updateMin :: (a -> a) -> IntMap a -> IntMap a
 updateMin f = updateMinWithKey (const f)
diff --git a/Data/IntMap/Strict.hs b/Data/IntMap/Strict.hs
index c49b8a8..a576c08 100644
--- a/Data/IntMap/Strict.hs
+++ b/Data/IntMap/Strict.hs
@@ -590,8 +590,7 @@ intersectionWithKey _ _ Nil = Nil
 
 -- | /O(log n)/. Update the value at the minimal key.
 --
--- > updateMinWithKey (\ k a -> Just ((show k) ++ ":" ++ a)) (fromList 
[(5,"a"), (3,"b")]) == fromList [(3,"3:b"), (5,"a")]
--- > updateMinWithKey (\ _ _ -> Nothing)                     (fromList 
[(5,"a"), (3,"b")]) == singleton 5 "a"
+-- > updateMinWithKey (\ k a -> (show k) ++ ":" ++ a) (fromList [(5,"a"), 
(3,"b")]) == fromList [(3,"3:b"), (5,"a")]
 
 updateMinWithKey :: (Key -> a -> a) -> IntMap a -> IntMap a
 updateMinWithKey f t
@@ -610,8 +609,7 @@ updateMinWithKeyUnsigned f t
 
 -- | /O(log n)/. Update the value at the maximal key.
 --
--- > updateMaxWithKey (\ k a -> Just ((show k) ++ ":" ++ a)) (fromList 
[(5,"a"), (3,"b")]) == fromList [(3,"b"), (5,"5:a")]
--- > updateMaxWithKey (\ _ _ -> Nothing)                     (fromList 
[(5,"a"), (3,"b")]) == singleton 3 "b"
+-- > updateMaxWithKey (\ k a -> (show k) ++ ":" ++ a) (fromList [(5,"a"), 
(3,"b")]) == fromList [(3,"b"), (5,"5:a")]
 
 updateMaxWithKey :: (Key -> a -> a) -> IntMap a -> IntMap a
 updateMaxWithKey f t
@@ -631,16 +629,14 @@ updateMaxWithKeyUnsigned f t
 
 -- | /O(log n)/. Update the value at the maximal key.
 --
--- > updateMax (\ a -> Just ("X" ++ a)) (fromList [(5,"a"), (3,"b")]) == 
fromList [(3, "b"), (5, "Xa")]
--- > updateMax (\ _ -> Nothing)         (fromList [(5,"a"), (3,"b")]) == 
singleton 3 "b"
+-- > updateMax (\ a -> "X" ++ a) (fromList [(5,"a"), (3,"b")]) == fromList 
[(3, "b"), (5, "Xa")]
 
 updateMax :: (a -> a) -> IntMap a -> IntMap a
 updateMax f = updateMaxWithKey (const f)
 
 -- | /O(log n)/. Update the value at the minimal key.
 --
--- > updateMin (\ a -> Just ("X" ++ a)) (fromList [(5,"a"), (3,"b")]) == 
fromList [(3, "Xb"), (5, "a")]
--- > updateMin (\ _ -> Nothing)         (fromList [(5,"a"), (3,"b")]) == 
singleton 5 "a"
+-- > updateMin (\ a -> "X" ++ a) (fromList [(5,"a"), (3,"b")]) == fromList 
[(3, "Xb"), (5, "a")]
 
 updateMin :: (a -> a) -> IntMap a -> IntMap a
 updateMin f = updateMinWithKey (const f)



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to