Copyright | Copyright (c) 1998 2008 Chris Okasaki |
---|---|
License | MIT; see COPYRIGHT file for terms and conditions |
Maintainer | robdockins AT fastmail DOT fm |
Stability | internal (unstable) |
Portability | GHC, Hugs (MPTC and FD) |
Safe Haskell | None |
Language | Haskell2010 |
This module provides default implementations of many of the associative collection operations. These function are used to fill in collection implementations and are not intended to be used directly by end users.
Documentation
singletonUsingInsert :: Assoc m k => k -> a -> m a Source #
fromSeqUsingInsertSeq :: (AssocX m k, Sequence seq) => seq (k, a) -> m a Source #
insertSeqUsingFoldr :: (AssocX m k, Sequence seq) => seq (k, a) -> m a -> m a Source #
unionSeqUsingReduce :: (AssocX m k, Sequence seq) => seq (m a) -> m a Source #
deleteSeqUsingFoldr :: (AssocX m k, Sequence seq) => seq k -> m a -> m a Source #
memberUsingLookupM :: AssocX m k => k -> m a -> Bool Source #
countUsingMember :: AssocX m k => k -> m a -> Int Source #
lookupAllUsingLookupM :: (AssocX m k, Sequence seq) => k -> m a -> seq a Source #
lookupWithDefaultUsingLookupM :: AssocX m k => a -> k -> m a -> a Source #
partitionUsingFilter :: AssocX m k => (a -> Bool) -> m a -> (m a, m a) Source #
fold1UsingElements :: AssocX m k => (a -> a -> a) -> m a -> a Source #
elementsUsingFold :: (AssocX m k, Sequence seq) => m a -> seq a Source #
nullUsingElements :: AssocX m k => m a -> Bool Source #
insertWithUsingLookupM :: FiniteMapX m k => (a -> a -> a) -> k -> a -> m a -> m a Source #
fromSeqWithUsingInsertSeqWith :: (FiniteMapX m k, Sequence seq) => (a -> a -> a) -> seq (k, a) -> m a Source #
fromSeqWithKeyUsingInsertSeqWithKey :: (FiniteMapX m k, Sequence seq) => (k -> a -> a -> a) -> seq (k, a) -> m a Source #
insertWithKeyUsingInsertWith :: FiniteMapX m k => (k -> a -> a -> a) -> k -> a -> m a -> m a Source #
insertSeqWithUsingInsertWith :: (FiniteMapX m k, Sequence seq) => (a -> a -> a) -> seq (k, a) -> m a -> m a Source #
insertSeqWithKeyUsingInsertWithKey :: (FiniteMapX m k, Sequence seq) => (k -> a -> a -> a) -> seq (k, a) -> m a -> m a Source #
unionSeqWithUsingReduce :: (FiniteMapX m k, Sequence seq) => (a -> a -> a) -> seq (m a) -> m a Source #
unionSeqWithUsingFoldr :: (FiniteMapX m k, Sequence seq) => (a -> a -> a) -> seq (m a) -> m a Source #
toSeqUsingFoldWithKey :: (Assoc m k, Sequence seq) => m a -> seq (k, a) Source #
keysUsingFoldWithKey :: (Assoc m k, Sequence seq) => m a -> seq k Source #
unionWithUsingInsertWith :: FiniteMap m k => (a -> a -> a) -> m a -> m a -> m a Source #
unionWithKeyUsingInsertWithKey :: FiniteMap m k => (k -> a -> a -> a) -> m a -> m a -> m a Source #
unionSeqWithKeyUsingReduce :: (FiniteMap m k, Sequence seq) => (k -> a -> a -> a) -> seq (m a) -> m a Source #
unionSeqWithKeyUsingFoldr :: (FiniteMap m k, Sequence seq) => (k -> a -> a -> a) -> seq (m a) -> m a Source #
intersectionWithUsingLookupM :: FiniteMap m k => (a -> b -> c) -> m a -> m b -> m c Source #
intersectionWithKeyUsingLookupM :: FiniteMap m k => (k -> a -> b -> c) -> m a -> m b -> m c Source #
differenceUsingDelete :: FiniteMap m k => m a -> m b -> m a Source #
properSubsetUsingSubset :: FiniteMapX m k => m a -> m b -> Bool Source #
subsetUsingMember :: FiniteMap m k => m a -> m b -> Bool Source #
properSubmapByUsingSubmapBy :: FiniteMapX m k => (a -> a -> Bool) -> m a -> m a -> Bool Source #
sameMapByUsingOrdLists :: OrdFiniteMap m k => (a -> a -> Bool) -> m a -> m a -> Bool Source #
sameMapByUsingSubmapBy :: FiniteMapX m k => (a -> a -> Bool) -> m a -> m a -> Bool Source #
lookupAndDeleteDefault :: AssocX m k => k -> m a -> (a, m a) Source #
lookupAndDeleteMDefault :: (Monad rm, AssocX m k) => k -> m a -> rm (a, m a) Source #
lookupAndDeleteAllDefault :: (Sequence seq, AssocX m k) => k -> m a -> (seq a, m a) Source #
adjustOrInsertUsingMember :: AssocX m k => (a -> a) -> a -> k -> m a -> m a Source #
adjustOrDeleteDefault :: AssocX m k => (a -> Maybe a) -> k -> m a -> m a Source #
adjustOrDeleteAllDefault :: AssocX m k => (a -> Maybe a) -> k -> m a -> m a Source #
minElemUsingMinView :: OrdAssocX m k => m a -> a Source #
deleteMinUsingMinView :: OrdAssocX m k => m a -> m a Source #
minElemWithKeyUsingMinViewWithKey :: OrdAssoc m k => m a -> (k, a) Source #
maxElemUsingMaxView :: OrdAssocX m k => m a -> a Source #
deleteMaxUsingMaxView :: OrdAssocX m k => m a -> m a Source #
maxElemWithKeyUsingMaxViewWithKey :: OrdAssoc m k => m a -> (k, a) Source #
toOrdSeqUsingFoldrWithKey :: (OrdAssoc m k, Sequence seq) => m a -> seq (k, a) Source #