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

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

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 #

fromSeqUsingInsertSeq :: (AssocX m k, Sequence seq) => seq (k, a) -> m a #

insertSeqUsingFoldr :: (AssocX m k, Sequence seq) => seq (k, a) -> m a -> m a #

unionSeqUsingReduce :: (AssocX m k, Sequence seq) => seq (m a) -> m a #

deleteSeqUsingFoldr :: (AssocX m k, Sequence seq) => seq k -> m a -> m a #

memberUsingLookupM :: AssocX m k => k -> m a -> Bool #

countUsingMember :: AssocX m k => k -> m a -> Int #

lookupAllUsingLookupM :: (AssocX m k, Sequence seq) => k -> m a -> seq a #

lookupWithDefaultUsingLookupM :: AssocX m k => a -> k -> m a -> a #

partitionUsingFilter :: AssocX m k => (a -> Bool) -> m a -> (m a, m a) #

fold1UsingElements :: AssocX m k => (a -> a -> a) -> m a -> a #

elementsUsingFold :: (AssocX m k, Sequence seq) => m a -> seq a #

nullUsingElements :: AssocX m k => m a -> Bool #

insertWithUsingLookupM :: FiniteMapX m k => (a -> a -> a) -> k -> a -> m a -> m a #

fromSeqWithUsingInsertSeqWith :: (FiniteMapX m k, Sequence seq) => (a -> a -> a) -> seq (k, a) -> m a #

fromSeqWithKeyUsingInsertSeqWithKey :: (FiniteMapX m k, Sequence seq) => (k -> a -> a -> a) -> seq (k, a) -> m a #

insertWithKeyUsingInsertWith :: FiniteMapX m k => (k -> a -> a -> a) -> k -> a -> m a -> m a #

insertSeqWithUsingInsertWith :: (FiniteMapX m k, Sequence seq) => (a -> a -> a) -> seq (k, a) -> m a -> m a #

insertSeqWithKeyUsingInsertWithKey :: (FiniteMapX m k, Sequence seq) => (k -> a -> a -> a) -> seq (k, a) -> m a -> m a #

unionSeqWithUsingReduce :: (FiniteMapX m k, Sequence seq) => (a -> a -> a) -> seq (m a) -> m a #

unionSeqWithUsingFoldr :: (FiniteMapX m k, Sequence seq) => (a -> a -> a) -> seq (m a) -> m a #

toSeqUsingFoldWithKey :: (Assoc m k, Sequence seq) => m a -> seq (k, a) #

keysUsingFoldWithKey :: (Assoc m k, Sequence seq) => m a -> seq k #

unionWithUsingInsertWith :: FiniteMap m k => (a -> a -> a) -> m a -> m a -> m a #

unionWithKeyUsingInsertWithKey :: FiniteMap m k => (k -> a -> a -> a) -> m a -> m a -> m a #

unionSeqWithKeyUsingReduce :: (FiniteMap m k, Sequence seq) => (k -> a -> a -> a) -> seq (m a) -> m a #

unionSeqWithKeyUsingFoldr :: (FiniteMap m k, Sequence seq) => (k -> a -> a -> a) -> seq (m a) -> m a #

intersectionWithUsingLookupM :: FiniteMap m k => (a -> b -> c) -> m a -> m b -> m c #

intersectionWithKeyUsingLookupM :: FiniteMap m k => (k -> a -> b -> c) -> m a -> m b -> m c #

differenceUsingDelete :: FiniteMap m k => m a -> m b -> m a #

properSubsetUsingSubset :: FiniteMapX m k => m a -> m b -> Bool #

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

submapByUsingLookupM :: FiniteMap m k => (a -> a -> Bool) -> m a -> m a -> Bool #

properSubmapByUsingSubmapBy :: FiniteMapX m k => (a -> a -> Bool) -> m a -> m a -> Bool #

sameMapByUsingOrdLists :: OrdFiniteMap m k => (a -> a -> Bool) -> m a -> m a -> Bool #

sameMapByUsingSubmapBy :: FiniteMapX m k => (a -> a -> Bool) -> m a -> m a -> Bool #

lookupAndDeleteDefault :: AssocX m k => k -> m a -> (a, m a) #

lookupAndDeleteMDefault :: (Monad rm, AssocX m k) => k -> m a -> rm (a, m a) #

lookupAndDeleteAllDefault :: (Sequence seq, AssocX m k) => k -> m a -> (seq a, m a) #

adjustOrInsertUsingMember :: AssocX m k => (a -> a) -> a -> k -> m a -> m a #

adjustOrDeleteDefault :: AssocX m k => (a -> Maybe a) -> k -> m a -> m a #

adjustOrDeleteAllDefault :: AssocX m k => (a -> Maybe a) -> k -> m a -> m a #

minElemUsingMinView :: OrdAssocX m k => m a -> a #

deleteMinUsingMinView :: OrdAssocX m k => m a -> m a #

minElemWithKeyUsingMinViewWithKey :: OrdAssoc m k => m a -> (k, a) #

maxElemUsingMaxView :: OrdAssocX m k => m a -> a #

deleteMaxUsingMaxView :: OrdAssocX m k => m a -> m a #

maxElemWithKeyUsingMaxViewWithKey :: OrdAssoc m k => m a -> (k, a) #

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

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

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

showsPrecUsingToOrdList :: (Show k, Show a, OrdAssoc m k) => Int -> m a -> ShowS #

readsPrecUsingUnsafeFromOrdSeq :: (Read k, Read a, OrdAssoc m k) => Int -> ReadS (m a) #

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