module Set
(
Set,
empty,
singleton,
insert,
remove,
isEmpty,
member,
size,
union,
intersect,
diff,
toList,
fromList,
map,
foldl,
foldr,
filter,
partition,
)
where
import Basics (Bool, Int, Ord, (>>))
import qualified Data.Set
import List (List)
import qualified Prelude
type Set t =
Data.Set.Set t
empty :: Set a
empty :: forall a. Set a
empty =
Set a
forall a. Set a
Data.Set.empty
singleton :: comparable -> Set comparable
singleton :: forall comparable. comparable -> Set comparable
singleton =
comparable -> Set comparable
forall comparable. comparable -> Set comparable
Data.Set.singleton
insert :: (Ord comparable) => comparable -> Set comparable -> Set comparable
insert :: forall comparable.
Ord comparable =>
comparable -> Set comparable -> Set comparable
insert =
comparable -> Set comparable -> Set comparable
forall comparable.
Ord comparable =>
comparable -> Set comparable -> Set comparable
Data.Set.insert
remove :: (Ord comparable) => comparable -> Set comparable -> Set comparable
remove :: forall comparable.
Ord comparable =>
comparable -> Set comparable -> Set comparable
remove =
comparable -> Set comparable -> Set comparable
forall comparable.
Ord comparable =>
comparable -> Set comparable -> Set comparable
Data.Set.delete
isEmpty :: Set a -> Bool
isEmpty :: forall a. Set a -> Bool
isEmpty =
Set a -> Bool
forall a. Set a -> Bool
Data.Set.null
member :: (Ord comparable) => comparable -> Set comparable -> Bool
member :: forall comparable.
Ord comparable =>
comparable -> Set comparable -> Bool
member =
comparable -> Set comparable -> Bool
forall comparable.
Ord comparable =>
comparable -> Set comparable -> Bool
Data.Set.member
size :: Set a -> Int
size :: forall a. Set a -> Int
size =
Set a -> Int
forall a. Set a -> Int
Data.Set.size (Set a -> Int) -> (Int -> Int) -> Set a -> Int
forall a b c. (a -> b) -> (b -> c) -> a -> c
>> Int -> Int
forall a b. (Integral a, Num b) => a -> b
Prelude.fromIntegral
union :: (Ord comparable) => Set comparable -> Set comparable -> Set comparable
union :: forall comparable.
Ord comparable =>
Set comparable -> Set comparable -> Set comparable
union =
Set comparable -> Set comparable -> Set comparable
forall comparable.
Ord comparable =>
Set comparable -> Set comparable -> Set comparable
Data.Set.union
intersect :: (Ord comparable) => Set comparable -> Set comparable -> Set comparable
intersect :: forall comparable.
Ord comparable =>
Set comparable -> Set comparable -> Set comparable
intersect =
Set comparable -> Set comparable -> Set comparable
forall comparable.
Ord comparable =>
Set comparable -> Set comparable -> Set comparable
Data.Set.intersection
diff :: (Ord comparable) => Set comparable -> Set comparable -> Set comparable
diff :: forall comparable.
Ord comparable =>
Set comparable -> Set comparable -> Set comparable
diff =
Set comparable -> Set comparable -> Set comparable
forall comparable.
Ord comparable =>
Set comparable -> Set comparable -> Set comparable
Data.Set.difference
toList :: Set a -> List a
toList :: forall a. Set a -> List a
toList =
Set a -> [a]
forall a. Set a -> List a
Data.Set.toAscList
fromList :: (Ord comparable) => List comparable -> Set comparable
fromList :: forall comparable.
Ord comparable =>
List comparable -> Set comparable
fromList =
[comparable] -> Set comparable
forall comparable.
Ord comparable =>
List comparable -> Set comparable
Data.Set.fromList
foldl :: (a -> b -> b) -> b -> Set a -> b
foldl :: forall a b. (a -> b -> b) -> b -> Set a -> b
foldl a -> b -> b
func =
(b -> a -> b) -> b -> Set a -> b
forall a b. (a -> b -> a) -> a -> Set b -> a
Data.Set.foldl' (\b
a a
b -> a -> b -> b
func a
b b
a)
foldr :: (a -> b -> b) -> b -> Set a -> b
foldr :: forall a b. (a -> b -> b) -> b -> Set a -> b
foldr =
(a -> b -> b) -> b -> Set a -> b
forall a b. (a -> b -> b) -> b -> Set a -> b
Data.Set.foldr'
map :: (Ord comparable2) => (comparable -> comparable2) -> Set comparable -> Set comparable2
map :: forall comparable2 comparable.
Ord comparable2 =>
(comparable -> comparable2) -> Set comparable -> Set comparable2
map =
(comparable -> comparable2) -> Set comparable -> Set comparable2
forall comparable2 comparable.
Ord comparable2 =>
(comparable -> comparable2) -> Set comparable -> Set comparable2
Data.Set.map
filter :: (comparable -> Bool) -> Set comparable -> Set comparable
filter :: forall comparable.
(comparable -> Bool) -> Set comparable -> Set comparable
filter =
(comparable -> Bool) -> Set comparable -> Set comparable
forall comparable.
(comparable -> Bool) -> Set comparable -> Set comparable
Data.Set.filter
partition :: (comparable -> Bool) -> Set comparable -> (Set comparable, Set comparable)
partition :: forall comparable.
(comparable -> Bool)
-> Set comparable -> (Set comparable, Set comparable)
partition =
(comparable -> Bool)
-> Set comparable -> (Set comparable, Set comparable)
forall comparable.
(comparable -> Bool)
-> Set comparable -> (Set comparable, Set comparable)
Data.Set.partition