Copyright | Copyright (c) 1998-1999 2008 Chris Okasaki |
---|---|
License | MIT; see COPYRIGHT file for terms and conditions |
Maintainer | robdockins AT fastmail DOT fm |
Stability | stable |
Portability | GHC, Hugs (MPTC and FD) |
Safe Haskell | None |
Language | Haskell2010 |
Data.Edison.Coll.UnbalancedSet
Contents
Description
Sets implemented as unbalanced binary search trees.
Synopsis
- data Set a
- empty :: Set a
- singleton :: a -> Set a
- fromSeq :: (Ord a, Sequence seq) => seq a -> Set a
- insert :: Ord a => a -> Set a -> Set a
- insertSeq :: (Ord a, Sequence seq) => seq a -> Set a -> Set a
- union :: Ord a => Set a -> Set a -> Set a
- unionSeq :: (Ord a, Sequence seq) => seq (Set a) -> Set a
- delete :: Ord a => a -> Set a -> Set a
- deleteAll :: Ord a => a -> Set a -> Set a
- deleteSeq :: (Ord a, Sequence seq) => seq a -> Set a -> Set a
- null :: Set a -> Bool
- size :: Set a -> Int
- member :: Ord a => a -> Set a -> Bool
- count :: Ord a => a -> Set a -> Int
- strict :: Set a -> Set a
- structuralInvariant :: Ord a => Set a -> Bool
- toSeq :: (Ord a, Sequence seq) => Set a -> seq a
- lookup :: Ord a => a -> Set a -> a
- lookupM :: (Ord a, Monad m) => a -> Set a -> m a
- lookupAll :: (Ord a, Sequence seq) => a -> Set a -> seq a
- lookupWithDefault :: Ord a => 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 :: Ord a => (a -> Bool) -> Set a -> Set a
- partition :: Ord a => (a -> Bool) -> Set a -> (Set a, Set a)
- strictWith :: (a -> b) -> Set a -> Set a
- deleteMin :: Ord a => Set a -> Set a
- deleteMax :: Ord a => Set a -> Set a
- unsafeInsertMin :: Ord a => a -> Set a -> Set a
- unsafeInsertMax :: Ord a => a -> Set a -> Set a
- unsafeFromOrdSeq :: (Ord a, Sequence seq) => seq a -> Set a
- unsafeAppend :: Ord a => Set a -> Set a -> Set a
- filterLT :: Ord a => a -> Set a -> Set a
- filterLE :: Ord a => a -> Set a -> Set a
- filterGT :: Ord a => a -> Set a -> Set a
- filterGE :: Ord a => a -> Set a -> Set a
- partitionLT_GE :: Ord a => a -> Set a -> (Set a, Set a)
- partitionLE_GT :: Ord a => a -> Set a -> (Set a, Set a)
- partitionLT_GT :: Ord a => a -> Set a -> (Set a, Set a)
- 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 :: (Ord a, Sequence seq) => Set a -> seq a
- unsafeMapMonotonic :: Ord a => (a -> a) -> Set a -> Set a
- intersection :: Ord a => Set a -> Set a -> Set a
- difference :: Ord a => Set a -> Set a -> Set a
- symmetricDifference :: Ord a => Set a -> Set a -> Set a
- properSubset :: Ord a => Set a -> Set a -> Bool
- subset :: Ord a => Set a -> Set a -> Bool
- fromSeqWith :: (Ord a, Sequence seq) => (a -> a -> a) -> seq a -> Set a
- insertWith :: Ord a => (a -> a -> a) -> a -> Set a -> Set a
- insertSeqWith :: (Ord a, Sequence seq) => (a -> a -> a) -> seq a -> Set a -> Set a
- unionl :: Ord a => Set a -> Set a -> Set a
- unionr :: Ord a => Set a -> Set a -> Set a
- unionWith :: Ord a => (a -> a -> a) -> Set a -> Set a -> Set a
- unionSeqWith :: (Ord a, Sequence seq) => (a -> a -> a) -> seq (Set a) -> Set a
- intersectionWith :: Ord a => (a -> a -> a) -> Set a -> Set a -> Set a
- moduleName :: String
Set type
Instances
Ord a => Eq (Set a) Source # | |
Ord a => Ord (Set a) Source # | |
(Ord a, Read a) => Read (Set a) Source # | |
Defined in Data.Edison.Coll.UnbalancedSet | |
(Ord a, Show a) => Show (Set a) Source # | |
Ord a => Semigroup (Set a) Source # | |
Ord a => Monoid (Set a) Source # | |
(Ord a, Arbitrary a) => Arbitrary (Set a) Source # | |
(Ord a, CoArbitrary a) => CoArbitrary (Set a) Source # | |
Defined in Data.Edison.Coll.UnbalancedSet Methods coarbitrary :: Set a -> Gen b -> Gen b | |
Ord a => CollX (Set a) a Source # | |
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 # 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 # | |
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 # | |
Ord a => SetX (Set a) a Source # | |
Ord a => OrdSetX (Set a) a Source # | |
Defined in Data.Edison.Coll.UnbalancedSet | |
Ord a => Coll (Set a) a Source # | |
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 # | |
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 # | |
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 # | |
Defined in Data.Edison.Coll.UnbalancedSet |
CollX operations
structuralInvariant :: Ord a => Set a -> Bool Source #
Coll operations
lookupWithDefault :: Ord a => a -> a -> Set a -> a Source #
strictWith :: (a -> b) -> Set a -> Set a Source #
OrdCollX operations
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 #
OrdColl operations
unsafeMapMonotonic :: Ord a => (a -> a) -> Set a -> Set a Source #
SetX operations
properSubset :: 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 #
Documentation
moduleName :: String Source #