EdisonCore-1.3: A library of efficent, 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 
Ord a => Ord (Set a) Source 
(Ord a, Read a) => Read (Set a) Source 
(Ord a, Show a) => Show (Set a) Source 
(Ord a, Arbitrary a) => Arbitrary (Set a) Source 
(Ord a, CoArbitrary a) => CoArbitrary (Set a) Source 
Ord a => Monoid (Set a) Source 
Ord a => CollX (Set a) a Source 
Ord a => OrdCollX (Set a) a Source 
Ord a => SetX (Set a) a Source 
Ord a => OrdSetX (Set a) a Source 
Ord a => Coll (Set a) a Source 
Ord a => OrdColl (Set a) a Source 
Ord a => Set (Set a) a Source 
Ord a => OrdSet (Set a) a Source 

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

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