descript-lang-0.2.0.0: src/Core/Data/Set.hs
module Core.Data.Set
( concatMap
, mapMaybe
, traverse
) where
import qualified Data.Maybe as List (mapMaybe)
import qualified Data.List as List (concatMap)
import Data.Set (Set)
import qualified Data.Set as Set
import qualified Prelude as List (traverse)
import Prelude hiding (concatMap, traverse)
concatMap :: (Ord b) => (a -> [b]) -> Set a -> Set b
concatMap f = Set.fromList . List.concatMap f . Set.toList
mapMaybe :: (Ord b) => (a -> Maybe b) -> Set a -> Set b
mapMaybe f = Set.fromList . List.mapMaybe f . Set.toList
traverse :: (Ord b, Applicative w) => (a -> w b) -> Set a -> w (Set b)
traverse f = fmap Set.fromList . List.traverse f . Set.toList