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

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

Data.Edison.Assoc.Defaults

Description

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

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

subsetUsingMember :: FiniteMap m k => m a -> m b -> Bool Source

submapByUsingLookupM :: FiniteMap m k => (a -> a -> Bool) -> m a -> m a -> 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

toOrdSeqUsingFoldrWithKey :: (OrdAssoc m k, Sequence seq) => m a -> seq (k, a) Source

showsPrecUsingToList :: (Show k, Show a, Assoc m k) => Int -> m a -> ShowS Source

compareUsingToOrdList :: (Ord a, OrdAssoc m k) => m a -> m a -> Ordering Source