EdisonCore-1.3.2: A library of efficient, 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 #

readsPrecUsingFromList :: (Read k, Read a, AssocX m k) => Int -> ReadS (m a) Source #

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