-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Functions that could be added to Data.Set. -- -- Functions that could be added to Data.Set. @package set-extra @version 1.4 module Data.Set.ExtraG gFind :: forall a b. (Data a, Typeable b, Ord b) => a -> Set b module Data.Set.Extra mapM :: (Monad m, Ord b) => (a -> m b) -> Set a -> m (Set b) mapM_ :: (Monad m, Ord b) => (a -> m b) -> Set a -> m () filterM :: (Ord a, Monad m) => (a -> m Bool) -> Set a -> m (Set a) catMaybes :: Ord a => Set (Maybe a) -> Set a mapMaybe :: (Ord a, Ord b) => (a -> Maybe b) -> Set a -> Set b flatten :: Ord a => Set (Set a) -> Set a concatMap :: (Ord a, Ord b) => (a -> Set b) -> Set a -> Set b concatMapM :: (Monad m, Ord a, Ord b) => (a -> m (Set b)) -> Set a -> m (Set b) any :: Ord a => (a -> Bool) -> Set a -> Bool all :: Ord a => (a -> Bool) -> Set a -> Bool or :: Set Bool -> Bool and :: Set Bool -> Bool -- | Create a singleton set containing a singleton set of a. ss :: Ord a => a -> Set (Set a) -- | Turn a list of lists into a set of sets. toSS :: Ord a => [[a]] -> Set (Set a) fromSS :: Ord a => Set (Set a) -> [[a]] ssMapM :: (Monad m, Ord a, Ord b) => (a -> m b) -> Set (Set a) -> m (Set (Set b)) -- | distrib {a, b, c} {d, e, f} -> {a+d, a+e, a+f, b+d, b+e, b+f, c+d, -- c+e, c+f} distrib :: Ord a => Set (Set a) -> Set (Set a) -> Set (Set a) cartesianProduct :: (Ord a, Ord b) => Set a -> Set b -> Set (a, b) groupBy :: (Ord a, Ord b) => (a -> b) -> Set a -> Map b (Set a) powerset :: Ord a => Set a -> Set (Set a) partitionM :: (Monad m, Ord a) => (a -> m Bool) -> Set a -> m (Set a, Set a) unzip :: (Ord a, Ord b) => Set (a, b) -> (Set a, Set b) gFind :: forall a b. (Data a, Typeable b, Ord b) => a -> Set b