From: John Meacham Date: Thu, 9 Mar 2006 19:18:06 +0000 (+0000) Subject: add Data.Set.notMember and Data.Map.notMember X-Git-Tag: directory_2007-05-24~327 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=962038e6fd6a74bc5dd483aaf1b3acbc98ea41ca;p=haskell-directory.git add Data.Set.notMember and Data.Map.notMember --- diff --git a/Data/Map.hs b/Data/Map.hs index 24d8d2d..7124cd3 100644 --- a/Data/Map.hs +++ b/Data/Map.hs @@ -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 diff --git a/Data/Set.hs b/Data/Set.hs index 13dff75..9eb30a4 100644 --- a/Data/Set.hs +++ b/Data/Set.hs @@ -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 --------------------------------------------------------------------}