rio-0.1.18.0: A standard library for Haskell

Safe Haskell | Safe
Language | Haskell2010

RIO.Set

Contents

- Set type
- Operators
- Query
- Construction
- Combine
- Filter
- Indexed
- Map
- Folds
  - Strict folds
- Min/Max
- Conversion
  - List
  - Ordered list
- Debugging

Description

`Set`. Import as:

    import qualified RIO.Set as Set

This module does not export any partial or unchecked functions. For those, see RIO.Set.Partial and RIO.Set.Unchecked

Synopsis

- data Set a
- (\\) :: Ord a => Set a -> Set a -> Set a
- null :: Set a -> Bool
- size :: Set a -> Int
- member :: Ord a => a -> Set a -> Bool
- notMember :: Ord a => a -> Set a -> Bool
- lookupLT :: Ord a => a -> Set a -> Maybe a
- lookupGT :: Ord a => a -> Set a -> Maybe a
- lookupLE :: Ord a => a -> Set a -> Maybe a
- lookupGE :: Ord a => a -> Set a -> Maybe a
- isSubsetOf :: Ord a => Set a -> Set a -> Bool
- isProperSubsetOf :: Ord a => Set a -> Set a -> Bool
- empty :: Set a
- singleton :: a -> Set a
- insert :: Ord a => a -> Set a -> Set a
- delete :: Ord a => a -> Set a -> Set a
- union :: Ord a => Set a -> Set a -> Set a
- unions :: (Foldable f, Ord a) => f (Set a) -> Set a
- difference :: Ord a => Set a -> Set a -> Set a
- intersection :: Ord a => Set a -> Set a -> Set a
- filter :: (a -> Bool) -> Set a -> Set a
- takeWhileAntitone :: (a -> Bool) -> Set a -> Set a
- dropWhileAntitone :: (a -> Bool) -> Set a -> Set a
- spanAntitone :: (a -> Bool) -> Set a -> (Set a, Set a)
- partition :: (a -> Bool) -> Set a -> (Set a, Set a)
- split :: Ord a => a -> Set a -> (Set a, Set a)
- splitMember :: Ord a => a -> Set a -> (Set a, Bool, Set a)
- splitRoot :: Set a -> [Set a]
- lookupIndex :: Ord a => a -> Set a -> Maybe Int
- take :: Int -> Set a -> Set a
- drop :: Int -> Set a -> Set a
- splitAt :: Int -> Set a -> (Set a, Set a)
- map :: Ord b => (a -> b) -> Set a -> Set b
- foldr :: (a -> b -> b) -> b -> Set a -> b
- foldl :: (a -> b -> a) -> a -> Set b -> a
- foldr' :: (a -> b -> b) -> b -> Set a -> b
- foldl' :: (a -> b -> a) -> a -> Set b -> a
- lookupMin :: Set a -> Maybe a
- lookupMax :: Set a -> Maybe a
- deleteMin :: Set a -> Set a
- deleteMax :: Set a -> Set a
- maxView :: Set a -> Maybe (a, Set a)
- minView :: Set a -> Maybe (a, Set a)
- elems :: Set a -> [a]
- toList :: Set a -> [a]
- fromList :: Ord a => [a] -> Set a
- toAscList :: Set a -> [a]
- toDescList :: Set a -> [a]
- showTree :: Show a => Set a -> String
- showTreeWith :: Show a => Bool -> Bool -> Set a -> String
- valid :: Ord a => Set a -> Bool

# Set type

data Set a #

#### Instances

Instances details

Foldable Set |

Instance details

Defined in Data.Set.Internal

Methods

fold :: Monoid m => Set m -> m #

foldMap :: Monoid m => (a -> m) -> Set a -> m #

foldMap' :: Monoid m => (a -> m) -> Set a -> m

foldr :: (a -> b -> b) -> b -> Set a -> b #

foldr' :: (a -> b -> b) -> b -> Set a -> b

foldl :: (b -> a -> b) -> b -> Set a -> b #

foldl' :: (b -> a -> b) -> b -> Set a -> b #

foldr1 :: (a -> a -> a) -> Set a -> a #

foldl1 :: (a -> a -> a) -> Set a -> a #

toList :: Set a -> [a] #

null :: Set a -> Bool #

length :: Set a -> Int #

elem :: Eq a => a -> Set a -> Bool #

maximum :: Ord a => Set a -> a #

minimum :: Ord a => Set a -> a #

sum :: Num a => Set a -> a #

product :: Num a => Set a -> a #

Eq1 Set |
Instance details Defined in Data.Set.Internal Methods liftEq :: (a -> b -> Bool) -> Set a -> Set b -> Bool
Ord1 Set |
Instance details Defined in Data.Set.Internal Methods liftCompare :: (a -> b -> Ordering) -> Set a -> Set b -> Ordering
Show1 Set |
Instance details Defined in Data.Set.Internal Methods liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Set a -> ShowS liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Set a] -> ShowS
Ord a => IsList (Set a) |
Instance details Defined in Data.Set.Internal Associated Types type Item (Set a) Methods fromList :: [Item (Set a)] -> Set a # fromListN :: Int -> [Item (Set a)] -> Set a # toList :: Set a -> [Item (Set a)]
Eq a => Eq (Set a) |
Instance details Defined in Data.Set.Internal Methods (==) :: Set a -> Set a -> Bool # (/=) :: Set a -> Set a -> Bool #
(Data a, Ord a) => Data (Set a) |

Instance details

Defined in Data.Set.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Set a -> c (Set a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Set a) #

toConstr :: Set a -> Constr #

dataTypeOf :: Set a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Set a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Set a)) #

gmapT :: (forall b. Data b => b -> b) -> Set a -> Set a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Set a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Set a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Set a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Set a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Set a -> m (Set a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Set a -> m (Set a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Set a -> m (Set a) #

Ord a => Ord (Set a) |
Instance details Defined in Data.Set.Internal Methods compare :: Set a -> Set a -> Ordering # (<) :: Set a -> Set a -> Bool # (<=) :: Set a -> Set a -> Bool # (>) :: Set a -> Set a -> Bool # (>=) :: Set a -> Set a -> Bool # max :: Set a -> Set a -> Set a # min :: Set a -> Set a -> Set a #
(Read a, Ord a) => Read (Set a) |
Instance details Defined in Data.Set.Internal Methods readsPrec :: Int -> ReadS (Set a) readList :: ReadS [Set a] readPrec :: ReadPrec (Set a) readListPrec :: ReadPrec [Set a]
Show a => Show (Set a) |
Instance details Defined in Data.Set.Internal Methods showsPrec :: Int -> Set a -> ShowS show :: Set a -> String # showList :: [Set a] -> ShowS
Ord a => Semigroup (Set a) |
Instance details Defined in Data.Set.Internal Methods (<>) :: Set a -> Set a -> Set a # sconcat :: NonEmpty (Set a) -> Set a stimes :: Integral b => b -> Set a -> Set a
Ord a => Monoid (Set a) |
Instance details Defined in Data.Set.Internal Methods mempty :: Set a # mappend :: Set a -> Set a -> Set a # mconcat :: [Set a] -> Set a #
NFData a => NFData (Set a) |
Instance details Defined in Data.Set.Internal Methods rnf :: Set a -> () #
type Item (Set a) |
Instance details Defined in Data.Set.Internal type Item (Set a) = a

# Operators

(\\) :: Ord a => Set a -> Set a -> Set a #

# Query

null :: Set a -> Bool #

size :: Set a -> Int #

member :: Ord a => a -> Set a -> Bool #

notMember :: Ord a => a -> Set a -> Bool #

lookupLT :: Ord a => a -> Set a -> Maybe a #

lookupGT :: Ord a => a -> Set a -> Maybe a #

lookupLE :: Ord a => a -> Set a -> Maybe a #

lookupGE :: Ord a => a -> Set a -> Maybe a #

isSubsetOf :: Ord a => Set a -> Set a -> Bool #

isProperSubsetOf :: Ord a => Set a -> Set a -> Bool #

# Construction

empty :: Set a #

singleton :: a -> Set a #

insert :: Ord a => a -> Set a -> Set a #

delete :: Ord a => a -> Set a -> Set a #

# Combine

union :: Ord a => Set a -> Set a -> Set a #

unions :: (Foldable f, Ord a) => f (Set a) -> Set a #

difference :: Ord a => Set a -> Set a -> Set a #

intersection :: Ord a => Set a -> Set a -> Set a #

# Filter

filter :: (a -> Bool) -> Set a -> Set a #

takeWhileAntitone :: (a -> Bool) -> Set a -> Set a #

dropWhileAntitone :: (a -> Bool) -> Set a -> Set a #

spanAntitone :: (a -> Bool) -> Set a -> (Set a, Set a) #

partition :: (a -> Bool) -> Set a -> (Set a, Set a) #

split :: Ord a => a -> Set a -> (Set a, Set a) #

splitMember :: Ord a => a -> Set a -> (Set a, Bool, Set a) #

splitRoot :: Set a -> [Set a] #

# Indexed

lookupIndex :: Ord a => a -> Set a -> Maybe Int #

take :: Int -> Set a -> Set a #

drop :: Int -> Set a -> Set a #

splitAt :: Int -> Set a -> (Set a, Set a) #

# Map

map :: Ord b => (a -> b) -> Set a -> Set b #

# Folds

foldr :: (a -> b -> b) -> b -> Set a -> b #

foldl :: (a -> b -> a) -> a -> Set b -> a #

## Strict folds

foldr' :: (a -> b -> b) -> b -> Set a -> b #

foldl' :: (a -> b -> a) -> a -> Set b -> a #

# Min/Max

lookupMin :: Set a -> Maybe a #

lookupMax :: Set a -> Maybe a #

deleteMin :: Set a -> Set a #

deleteMax :: Set a -> Set a #

maxView :: Set a -> Maybe (a, Set a) #

minView :: Set a -> Maybe (a, Set a) #

# Conversion

## List

elems :: Set a -> [a] #

toList :: Set a -> [a] #

fromList :: Ord a => [a] -> Set a #

## Ordered list

toAscList :: Set a -> [a] #

toDescList :: Set a -> [a] #

# Debugging

showTree :: Show a => Set a -> String #

showTreeWith :: Show a => Bool -> Bool -> Set a -> String #

valid :: Ord a => Set a -> Bool #