EdisonCore-1.3.1.1: A library of efficent, purely-functional data structures (Core Implementations)

CopyrightCopyright (c) 2006 2008 Robert Dockins
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.StandardSet

Contents

Description

The standard library Data.Set repackaged as an Edison collection.

Synopsis

Set type

type Set = Set 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 #

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 :: Ord a => 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 :: Ord a => (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 :: (Ord a, Monad m) => Set a -> m (a, Set a) Source #

minElem :: Set a -> a Source #

maxView :: (Ord a, 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

Orphan instances

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

Methods

singleton :: a -> Set a #

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

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

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

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

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

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

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

null :: Set a -> Bool #

size :: Set a -> Int #

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

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

strict :: Set a -> Set a #

structuralInvariant :: Set a -> Bool #

instanceName :: Set a -> String #

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

Methods

deleteMin :: Set a -> Set a #

deleteMax :: Set a -> Set a #

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

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

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

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

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

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

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

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

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

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

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

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

Methods

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

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

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

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

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

Ord a => OrdSetX (Set a) a Source # 
Ord a => Coll (Set a) a Source # 

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

Methods

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

minElem :: Set a -> a #

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

maxElem :: Set a -> a #

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 #

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

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

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

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

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

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

Methods

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

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

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

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

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

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

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

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

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