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

PortabilityGHC, Hugs (MPTC and FD)
Stabilitystable
Maintainerrobdockins AT fastmail DOT fm
Safe HaskellNone

Data.Edison.Assoc.PatriciaLoMap

Contents

Description

Finite maps implemented as little-endian Patricia trees.

References:

  • Chris Okasaki and Any Gill. "Fast Mergeable Integer Maps". Workshop on ML, September 1998, pages 77-86.

Synopsis

Type of little-endian Patricia trees

AssocX operations

singleton :: Int -> a -> FM aSource

fromSeq :: Sequence seq => seq (Int, a) -> FM aSource

insert :: Int -> a -> FM a -> FM aSource

insertSeq :: Sequence seq => seq (Int, a) -> FM a -> FM aSource

union :: FM a -> FM a -> FM aSource

unionSeq :: Sequence seq => seq (FM a) -> FM aSource

delete :: Int -> FM a -> FM aSource

deleteAll :: Int -> FM a -> FM aSource

deleteSeq :: Sequence seq => seq Int -> FM a -> FM aSource

size :: FM a -> IntSource

member :: Int -> FM a -> BoolSource

count :: Int -> FM a -> IntSource

lookup :: Int -> FM a -> aSource

lookupM :: Monad rm => Int -> FM a -> rm aSource

lookupAll :: Sequence seq => Int -> FM a -> seq aSource

lookupAndDelete :: Int -> FM a -> (a, FM a)Source

lookupAndDeleteM :: Monad m => Int -> FM a -> m (a, FM a)Source

lookupAndDeleteAll :: Sequence seq => Int -> FM a -> (seq a, FM a)Source

strict :: t -> tSource

strictWith :: (t -> a) -> FM t -> FM tSource

lookupWithDefault :: a -> Int -> FM a -> aSource

adjust :: (a -> a) -> Int -> FM a -> FM aSource

adjustAll :: (a -> a) -> Int -> FM a -> FM aSource

adjustOrInsert :: (a -> a) -> a -> Int -> FM a -> FM aSource

adjustAllOrInsert :: (a -> a) -> a -> Int -> FM a -> FM aSource

map :: (a -> b) -> FM a -> FM bSource

fold :: (a -> b -> b) -> b -> FM a -> bSource

fold' :: (a -> b -> b) -> b -> FM a -> bSource

fold1 :: (a -> a -> a) -> FM a -> aSource

fold1' :: (a -> a -> a) -> FM a -> aSource

filter :: (a -> Bool) -> FM a -> FM aSource

partition :: (a -> Bool) -> FM a -> (FM a, FM a)Source

elements :: Sequence seq => FM a -> seq aSource

Assoc operations

toSeq :: Sequence seq => FM a -> seq (Int, a)Source

keys :: Sequence seq => FM a -> seq IntSource

mapWithKey :: (Int -> a -> b) -> FM a -> FM bSource

foldWithKey :: (Int -> a -> b -> b) -> b -> FM a -> bSource

foldWithKey' :: (Int -> a -> b -> b) -> b -> FM a -> bSource

filterWithKey :: (Int -> a -> Bool) -> FM a -> FM aSource

partitionWithKey :: (Int -> a -> Bool) -> FM a -> (FM a, FM a)Source

FiniteMapX operations

fromSeqWith :: Sequence seq => (a -> a -> a) -> seq (Int, a) -> FM aSource

fromSeqWithKey :: Sequence seq => (Int -> a -> a -> a) -> seq (Int, a) -> FM aSource

insertWith :: (a -> a -> a) -> Int -> a -> FM a -> FM aSource

insertWithKey :: (Int -> a -> a -> a) -> Int -> a -> FM a -> FM aSource

insertSeqWith :: Sequence seq => (a -> a -> a) -> seq (Int, a) -> FM a -> FM aSource

insertSeqWithKey :: Sequence seq => (Int -> a -> a -> a) -> seq (Int, a) -> FM a -> FM aSource

unionl :: FM a -> FM a -> FM aSource

unionr :: FM a -> FM a -> FM aSource

unionWith :: (a -> a -> a) -> FM a -> FM a -> FM aSource

unionSeqWith :: Sequence seq => (a -> a -> a) -> seq (FM a) -> FM aSource

intersectionWith :: (a -> b -> c) -> FM a -> FM b -> FM cSource

difference :: FM a -> FM b -> FM aSource

subset :: FM a -> FM b -> BoolSource

properSubmapBy :: (a -> a -> Bool) -> FM a -> FM a -> BoolSource

submapBy :: (a -> a -> Bool) -> FM a -> FM a -> BoolSource

sameMapBy :: (a -> a -> Bool) -> FM a -> FM a -> BoolSource

properSubmap :: Eq a => FM a -> FM a -> BoolSource

submap :: Eq a => FM a -> FM a -> BoolSource

sameMap :: Eq a => FM a -> FM a -> BoolSource

FiniteMap operations

unionWithKey :: (Int -> a -> a -> a) -> FM a -> FM a -> FM aSource

unionSeqWithKey :: Sequence seq => (Int -> a -> a -> a) -> seq (FM a) -> FM aSource

intersectionWithKey :: (Int -> a -> b -> c) -> FM a -> FM b -> FM cSource

OrdAssocX operations

minView :: Monad m => FM a -> m (a, FM a)Source

minElem :: FM a -> aSource

unsafeInsertMin :: Int -> a -> FM a -> FM aSource

maxView :: Monad m => FM a -> m (a, FM a)Source

maxElem :: FM a -> aSource

unsafeInsertMax :: Int -> a -> FM a -> FM aSource

foldr :: (a -> b -> b) -> b -> FM a -> bSource

foldr' :: (a -> b -> b) -> b -> FM a -> bSource

foldr1 :: (a -> a -> a) -> FM a -> aSource

foldr1' :: (a -> a -> a) -> FM a -> aSource

foldl :: (b -> a -> b) -> b -> FM a -> bSource

foldl' :: (b -> a -> b) -> b -> FM a -> bSource

foldl1 :: (a -> a -> a) -> FM a -> aSource

foldl1' :: (a -> a -> a) -> FM a -> aSource

unsafeFromOrdSeq :: Sequence seq => seq (Int, a) -> FM aSource

unsafeAppend :: FM a -> FM a -> FM aSource

filterLT :: Int -> FM a -> FM aSource

filterLE :: Int -> FM a -> FM aSource

filterGT :: Int -> FM a -> FM aSource

filterGE :: Int -> FM a -> FM aSource

partitionLT_GE :: Int -> FM a -> (FM a, FM a)Source

partitionLE_GT :: Int -> FM a -> (FM a, FM a)Source

partitionLT_GT :: Int -> FM a -> (FM a, FM a)Source

OrdAssoc operations

minViewWithKey :: Monad m => FM a -> m ((Int, a), FM a)Source

maxViewWithKey :: Monad m => FM a -> m ((Int, a), FM a)Source

foldrWithKey :: (Int -> a -> b -> b) -> b -> FM a -> bSource

foldrWithKey' :: (Int -> a -> b -> b) -> b -> FM a -> bSource

foldlWithKey :: (b -> Int -> a -> b) -> b -> FM a -> bSource

foldlWithKey' :: (b -> Int -> a -> b) -> b -> FM a -> bSource

toOrdSeq :: Sequence seq => FM a -> seq (Int, a)Source

Documentation