add Data.Set.notMember and Data.Map.notMember
authorJohn Meacham <john@repetae.net>
Thu, 9 Mar 2006 19:18:06 +0000 (19:18 +0000)
committerJohn Meacham <john@repetae.net>
Thu, 9 Mar 2006 19:18:06 +0000 (19:18 +0000)
Data/Map.hs
Data/Set.hs

index 24d8d2d..7124cd3 100644 (file)
@@ -44,6 +44,7 @@ module Data.Map  (
             , null
             , size
             , member
+            , notMember
             , lookup
             , findWithDefault
             
@@ -272,6 +273,10 @@ member k m
       Nothing -> False
       Just x  -> True
 
+-- | /O(log n)/. Is the key not a member of the map?
+notMember :: Ord k => k -> Map k a -> Bool
+notMember k m = not $ Data.Map.member k m
+
 -- | /O(log n)/. Find the value at a key.
 -- Calls 'error' when the element can not be found.
 find :: Ord k => k -> Map k a -> a
index 13dff75..9eb30a4 100644 (file)
@@ -43,6 +43,7 @@ module Data.Set  (
             , null
             , size
             , member
+            , notMember
             , isSubsetOf
             , isProperSubsetOf
             
@@ -203,6 +204,11 @@ member x t
                GT -> member x r
                EQ -> True       
 
+-- | /O(log n)/. Is the element not in the set?
+notMember :: Ord a => a -> Set a -> Bool
+notMember x t = not $ Data.Set.member x t
+
+
 {--------------------------------------------------------------------
   Construction
 --------------------------------------------------------------------}