EdisonCore-1.3.2.1: A library of efficient, purely-functional data structures (Core Implementations)

CopyrightCopyright (c) 1998-1999 2008 Chris Okasaki
LicenseMIT; see COPYRIGHT file for terms and conditions
Maintainerrobdockins AT fastmail DOT fm
Stabilitystable
PortabilityGHC, Hugs (MPTC and FD)
Safe HaskellNone
LanguageHaskell2010

Data.Edison.Coll.UnbalancedSet

Contents

Description

Sets implemented as unbalanced binary search trees.

Synopsis

Set type

data Set a Source #

Instances
Ord a => Eq (Set a) Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

Methods

(==) :: Set a -> Set a -> Bool Source #

(/=) :: Set a -> Set a -> Bool Source #

Ord a => Ord (Set a) Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

Methods

compare :: Set a -> Set a -> Ordering Source #

(<) :: Set a -> Set a -> Bool Source #

(<=) :: Set a -> Set a -> Bool Source #

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

(>=) :: Set a -> Set a -> Bool Source #

max :: Set a -> Set a -> Set a Source #

min :: Set a -> Set a -> Set a Source #

(Ord a, Read a) => Read (Set a) Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

(Ord a, Show a) => Show (Set a) Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

Methods

showsPrec :: Int -> Set a -> ShowS Source #

show :: Set a -> String Source #

showList :: [Set a] -> ShowS Source #

Ord a => Semigroup (Set a) Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

Methods

(<>) :: Set a -> Set a -> Set a Source #

sconcat :: NonEmpty (Set a) -> Set a Source #

stimes :: Integral b => b -> Set a -> Set a Source #

Ord a => Monoid (Set a) Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

Methods

mempty :: Set a Source #

mappend :: Set a -> Set a -> Set a Source #

mconcat :: [Set a] -> Set a Source #

(Ord a, Arbitrary a) => Arbitrary (Set a) Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

Methods

arbitrary :: Gen (Set a) Source #

shrink :: Set a -> [Set a] Source #

(Ord a, CoArbitrary a) => CoArbitrary (Set a) Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

Methods

coarbitrary :: Set a -> Gen b -> Gen b Source #

Ord a => CollX (Set a) a Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

Methods

singleton :: a -> Set a Source #

fromSeq :: Sequence seq => seq a -> Set a Source #

unionSeq :: Sequence seq => seq (Set a) -> Set a Source #

insert :: a -> Set a -> Set a Source #

insertSeq :: Sequence seq => seq a -> Set a -> Set a Source #

delete :: a -> Set a -> Set a Source #

deleteAll :: a -> Set a -> Set a Source #

deleteSeq :: Sequence seq => seq a -> Set a -> Set a Source #

null :: Set a -> Bool Source #

size :: Set a -> Int Source #

member :: a -> Set a -> Bool Source #

count :: a -> Set a -> Int Source #

strict :: Set a -> Set a Source #

structuralInvariant :: Set a -> Bool Source #

instanceName :: Set a -> String Source #

Ord a => OrdCollX (Set a) a Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

Methods

deleteMin :: Set a -> Set a Source #

deleteMax :: Set a -> Set a Source #

unsafeInsertMin :: a -> Set a -> Set a Source #

unsafeInsertMax :: a -> Set a -> Set a Source #

unsafeFromOrdSeq :: Sequence seq => seq a -> Set a Source #

unsafeAppend :: Set a -> Set a -> Set a Source #

filterLT :: a -> Set a -> Set a Source #

filterLE :: a -> Set a -> Set a Source #

filterGT :: a -> Set a -> Set a Source #

filterGE :: a -> Set a -> Set a Source #

partitionLT_GE :: a -> Set a -> (Set a, Set a) Source #

partitionLE_GT :: a -> Set a -> (Set a, Set a) Source #

partitionLT_GT :: a -> Set a -> (Set a, Set a) Source #

Ord a => SetX (Set a) a Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

Methods

intersection :: Set a -> Set a -> Set a Source #

difference :: Set a -> Set a -> Set a Source #

symmetricDifference :: Set a -> Set a -> Set a Source #

properSubset :: Set a -> Set a -> Bool Source #

subset :: Set a -> Set a -> Bool Source #

Ord a => OrdSetX (Set a) a Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

Ord a => Coll (Set a) a Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

Methods

toSeq :: Sequence seq => Set a -> seq a Source #

lookup :: a -> Set a -> a Source #

lookupM :: Monad m => a -> Set a -> m a Source #

lookupAll :: Sequence seq => a -> Set a -> seq a Source #

lookupWithDefault :: a -> a -> Set a -> a Source #

fold :: (a -> b -> b) -> b -> Set a -> b Source #

fold' :: (a -> b -> b) -> b -> Set a -> b Source #

fold1 :: (a -> a -> a) -> Set a -> a Source #

fold1' :: (a -> a -> a) -> Set a -> a Source #

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

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

strictWith :: (a -> b) -> Set a -> Set a Source #

Ord a => OrdColl (Set a) a Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

Methods

minView :: Monad m => Set a -> m (a, Set a) Source #

minElem :: Set a -> a Source #

maxView :: Monad m => Set a -> m (a, Set a) Source #

maxElem :: Set a -> a Source #

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

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

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

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

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

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

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

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

toOrdSeq :: Sequence seq => Set a -> seq a Source #

unsafeMapMonotonic :: (a -> a) -> Set a -> Set a Source #

Ord a => Set (Set a) a Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

Methods

fromSeqWith :: Sequence seq => (a -> a -> a) -> seq a -> Set a Source #

insertWith :: (a -> a -> a) -> a -> Set a -> Set a Source #

insertSeqWith :: Sequence seq => (a -> a -> a) -> seq a -> Set a -> Set a Source #

unionl :: Set a -> Set a -> Set a Source #

unionr :: Set a -> Set a -> Set a Source #

unionWith :: (a -> a -> a) -> Set a -> Set a -> Set a Source #

unionSeqWith :: Sequence seq => (a -> a -> a) -> seq (Set a) -> Set a Source #

intersectionWith :: (a -> a -> a) -> Set a -> Set a -> Set a Source #

Ord a => OrdSet (Set a) a Source # 
Instance details

Defined in Data.Edison.Coll.UnbalancedSet

CollX operations

singleton :: a -> Set a Source #

fromSeq :: (Ord a, Sequence seq) => seq a -> Set a Source #

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

insertSeq :: (Ord a, Sequence seq) => seq a -> Set a -> Set a Source #

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

unionSeq :: (Ord a, Sequence seq) => seq (Set a) -> Set a Source #

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

deleteAll :: Ord a => a -> Set a -> Set a Source #

deleteSeq :: (Ord a, Sequence seq) => seq a -> Set a -> Set a Source #

null :: Set a -> Bool Source #

size :: Set a -> Int Source #

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

count :: Ord a => a -> Set a -> Int Source #

strict :: Set a -> Set a Source #

Coll operations

toSeq :: (Ord a, Sequence seq) => Set a -> seq a Source #

lookup :: Ord a => a -> Set a -> a Source #

lookupM :: (Ord a, Monad m) => a -> Set a -> m a Source #

lookupAll :: (Ord a, Sequence seq) => a -> Set a -> seq a Source #

lookupWithDefault :: Ord a => a -> a -> Set a -> a Source #

fold :: (a -> b -> b) -> b -> Set a -> b Source #

fold' :: (a -> b -> b) -> b -> Set a -> b Source #

fold1 :: (a -> a -> a) -> Set a -> a Source #

fold1' :: (a -> a -> a) -> Set a -> a Source #

filter :: Ord a => (a -> Bool) -> Set a -> Set a Source #

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

strictWith :: (a -> b) -> Set a -> Set a Source #

OrdCollX operations

deleteMin :: Ord a => Set a -> Set a Source #

deleteMax :: Ord a => Set a -> Set a Source #

unsafeInsertMin :: Ord a => a -> Set a -> Set a Source #

unsafeInsertMax :: Ord a => a -> Set a -> Set a Source #

unsafeFromOrdSeq :: (Ord a, Sequence seq) => seq a -> Set a Source #

unsafeAppend :: Ord a => Set a -> Set a -> Set a Source #

filterLT :: Ord a => a -> Set a -> Set a Source #

filterLE :: Ord a => a -> Set a -> Set a Source #

filterGT :: Ord a => a -> Set a -> Set a Source #

filterGE :: Ord a => a -> Set a -> Set a Source #

partitionLT_GE :: Ord a => a -> Set a -> (Set a, Set a) Source #

partitionLE_GT :: Ord a => a -> Set a -> (Set a, Set a) Source #

partitionLT_GT :: Ord a => a -> Set a -> (Set a, Set a) Source #

OrdColl operations

minView :: Monad m => Set a -> m (a, Set a) Source #

minElem :: Set a -> a Source #

maxView :: Monad m => Set a -> m (a, Set a) Source #

maxElem :: Set a -> a Source #

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

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

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

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

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

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

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

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

toOrdSeq :: (Ord a, Sequence seq) => Set a -> seq a Source #

unsafeMapMonotonic :: Ord a => (a -> a) -> Set a -> Set a Source #

SetX operations

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

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

symmetricDifference :: Ord a => Set a -> Set a -> Set a Source #

properSubset :: Ord a => Set a -> Set a -> Bool Source #

subset :: Ord a => Set a -> Set a -> Bool Source #

Set operations

fromSeqWith :: (Ord a, Sequence seq) => (a -> a -> a) -> seq a -> Set a Source #

insertWith :: Ord a => (a -> a -> a) -> a -> Set a -> Set a Source #

insertSeqWith :: (Ord a, Sequence seq) => (a -> a -> a) -> seq a -> Set a -> Set a Source #

unionl :: Ord a => Set a -> Set a -> Set a Source #

unionr :: Ord a => Set a -> Set a -> Set a Source #

unionWith :: Ord a => (a -> a -> a) -> Set a -> Set a -> Set a Source #

unionSeqWith :: (Ord a, Sequence seq) => (a -> a -> a) -> seq (Set a) -> Set a Source #

intersectionWith :: Ord a => (a -> a -> a) -> Set a -> Set a -> Set a Source #

Documentation