 EdisonCore1.2.1.2: A library of efficent, purelyfunctional data structures (Core Implementations)  Source code  Contents  Index 

Data.Edison.Assoc.AssocList  Portability  GHC, Hugs (MPTC and FD)  Stability  stable  Maintainer  robdockins AT fastmail DOT fm 





Description 
This module implements finite maps as simple association lists.
Duplicates are removed conceptually, but not physically. The first
occurrence of a given key is the one that is considered to be in the map.
The list type is mildly customized to prevent boxing the pairs.


Synopsis 

data FM k a   empty :: Eq k => FM k a   singleton :: Eq k => k > a > FM k a   fromSeq :: (Eq k, Sequence seq) => seq (k, a) > FM k a   insert :: Eq k => k > a > FM k a > FM k a   insertSeq :: (Eq k, Sequence seq) => seq (k, a) > FM k a > FM k a   union :: Eq k => FM k a > FM k a > FM k a   unionSeq :: (Eq k, Sequence seq) => seq (FM k a) > FM k a   delete :: Eq k => k > FM k a > FM k a   deleteAll :: Eq k => k > FM k a > FM k a   deleteSeq :: (Eq k, Sequence seq) => seq k > FM k a > FM k a   null :: Eq k => FM k a > Bool   size :: Eq k => FM k a > Int   member :: Eq k => k > FM k a > Bool   count :: Eq k => k > FM k a > Int   lookup :: Eq k => k > FM k a > a   lookupM :: (Eq k, Monad rm) => k > FM k a > rm a   lookupAll :: (Eq k, Sequence seq) => k > FM k a > seq a   lookupAndDelete :: Eq k => k > FM k a > (a, FM k a)   lookupAndDeleteM :: (Eq k, Monad rm) => k > FM k a > rm (a, FM k a)   lookupAndDeleteAll :: (Eq k, Sequence seq) => k > FM k a > (seq a, FM k a)   lookupWithDefault :: Eq k => a > k > FM k a > a   adjust :: Eq k => (a > a) > k > FM k a > FM k a   adjustAll :: Eq k => (a > a) > k > FM k a > FM k a   adjustOrInsert :: Eq k => (a > a) > a > k > FM k a > FM k a   adjustAllOrInsert :: Eq k => (a > a) > a > k > FM k a > FM k a   adjustOrDelete :: Eq k => (a > Maybe a) > k > FM k a > FM k a   adjustOrDeleteAll :: Eq k => (a > Maybe a) > k > FM k a > FM k a   strict :: FM k a > FM k a   strictWith :: (a > b) > FM k a > FM k a   map :: Eq k => (a > b) > FM k a > FM k b   fold :: Eq k => (a > b > b) > b > FM k a > b   fold' :: Eq k => (a > b > b) > b > FM k a > b   fold1 :: Eq k => (a > a > a) > FM k a > a   fold1' :: Eq k => (a > a > a) > FM k a > a   filter :: Eq k => (a > Bool) > FM k a > FM k a   partition :: Eq k => (a > Bool) > FM k a > (FM k a, FM k a)   elements :: (Eq k, Sequence seq) => FM k a > seq a   structuralInvariant :: Eq k => FM k a > Bool   minView :: (Ord k, Monad m) => FM k a > m (a, FM k a)   minElem :: Ord k => FM k a > a   deleteMin :: Ord k => FM k a > FM k a   unsafeInsertMin :: Ord k => k > a > FM k a > FM k a   maxView :: (Ord k, Monad m) => FM k a > m (a, FM k a)   maxElem :: Ord k => FM k a > a   deleteMax :: Ord k => FM k a > FM k a   unsafeInsertMax :: Ord k => k > a > FM k a > FM k a   foldr :: Ord k => (a > b > b) > b > FM k a > b   foldr' :: Ord k => (a > b > b) > b > FM k a > b   foldl :: Ord k => (b > a > b) > b > FM k a > b   foldl' :: Ord k => (b > a > b) > b > FM k a > b   foldr1 :: Ord k => (a > a > a) > FM k a > a   foldr1' :: Ord k => (a > a > a) > FM k a > a   foldl1 :: Ord k => (a > a > a) > FM k a > a   foldl1' :: Ord k => (a > a > a) > FM k a > a   unsafeFromOrdSeq :: (Ord k, Sequence seq) => seq (k, a) > FM k a   unsafeAppend :: Ord k => FM k a > FM k a > FM k a   filterLT :: Ord k => k > FM k a > FM k a   filterLE :: Ord k => k > FM k a > FM k a   filterGT :: Ord k => k > FM k a > FM k a   filterGE :: Ord k => k > FM k a > FM k a   partitionLT_GE :: Ord k => k > FM k a > (FM k a, FM k a)   partitionLE_GT :: Ord k => k > FM k a > (FM k a, FM k a)   partitionLT_GT :: Ord k => k > FM k a > (FM k a, FM k a)   toSeq :: (Eq k, Sequence seq) => FM k a > seq (k, a)   keys :: (Eq k, Sequence seq) => FM k a > seq k   mapWithKey :: Eq k => (k > a > b) > FM k a > FM k b   foldWithKey :: Eq k => (k > a > b > b) > b > FM k a > b   foldWithKey' :: Eq k => (k > a > b > b) > b > FM k a > b   filterWithKey :: Eq k => (k > a > Bool) > FM k a > FM k a   partitionWithKey :: Eq k => (k > a > Bool) > FM k a > (FM k a, FM k a)   minViewWithKey :: (Ord k, Monad m) => FM k a > m ((k, a), FM k a)   minElemWithKey :: Ord k => FM k a > (k, a)   maxViewWithKey :: (Ord k, Monad m) => FM k a > m ((k, a), FM k a)   maxElemWithKey :: Ord k => FM k a > (k, a)   foldrWithKey :: Ord k => (k > a > b > b) > b > FM k a > b   foldrWithKey' :: Ord k => (k > a > b > b) > b > FM k a > b   foldlWithKey :: Ord k => (b > k > a > b) > b > FM k a > b   foldlWithKey' :: Ord k => (b > k > a > b) > b > FM k a > b   toOrdSeq :: (Ord k, Sequence seq) => FM k a > seq (k, a)   fromSeqWith :: (Eq k, Sequence seq) => (a > a > a) > seq (k, a) > FM k a   fromSeqWithKey :: (Eq k, Sequence seq) => (k > a > a > a) > seq (k, a) > FM k a   insertWith :: Eq k => (a > a > a) > k > a > FM k a > FM k a   insertWithKey :: Eq k => (k > a > a > a) > k > a > FM k a > FM k a   insertSeqWith :: (Eq k, Sequence seq) => (a > a > a) > seq (k, a) > FM k a > FM k a   insertSeqWithKey :: (Eq k, Sequence seq) => (k > a > a > a) > seq (k, a) > FM k a > FM k a   unionl :: Eq k => FM k a > FM k a > FM k a   unionr :: Eq k => FM k a > FM k a > FM k a   unionWith :: Eq k => (a > a > a) > FM k a > FM k a > FM k a   unionSeqWith :: (Eq k, Sequence seq) => (a > a > a) > seq (FM k a) > FM k a   intersectionWith :: Eq k => (a > b > c) > FM k a > FM k b > FM k c   difference :: Eq k => FM k a > FM k b > FM k a   properSubset :: Eq k => FM k a > FM k b > Bool   subset :: Eq k => FM k a > FM k b > Bool   properSubmapBy :: Eq k => (a > a > Bool) > FM k a > FM k a > Bool   submapBy :: Eq k => (a > a > Bool) > FM k a > FM k a > Bool   sameMapBy :: Eq k => (a > a > Bool) > FM k a > FM k a > Bool   properSubmap :: (Eq k, Eq a) => FM k a > FM k a > Bool   submap :: (Eq k, Eq a) => FM k a > FM k a > Bool   sameMap :: (Eq k, Eq a) => FM k a > FM k a > Bool   unionWithKey :: Eq k => (k > a > a > a) > FM k a > FM k a > FM k a   unionSeqWithKey :: (Eq k, Sequence seq) => (k > a > a > a) > seq (FM k a) > FM k a   intersectionWithKey :: Eq k => (k > a > b > c) > FM k a > FM k b > FM k c   moduleName :: String 



Type of simple association lists



Instances  


AssocX operations










































lookupWithDefault :: Eq k => a > k > FM k a > a  Source 




adjustAll :: Eq k => (a > a) > k > FM k a > FM k a  Source 


adjustOrInsert :: Eq k => (a > a) > a > k > FM k a > FM k a  Source 


adjustAllOrInsert :: Eq k => (a > a) > a > k > FM k a > FM k a  Source 












fold :: Eq k => (a > b > b) > b > FM k a > b  Source 


fold' :: Eq k => (a > b > b) > b > FM k a > b  Source 


fold1 :: Eq k => (a > a > a) > FM k a > a  Source 


fold1' :: Eq k => (a > a > a) > FM k a > a  Source 










OrdAssocX operations


















foldr :: Ord k => (a > b > b) > b > FM k a > b  Source 


foldr' :: Ord k => (a > b > b) > b > FM k a > b  Source 


foldl :: Ord k => (b > a > b) > b > FM k a > b  Source 


foldl' :: Ord k => (b > a > b) > b > FM k a > b  Source 




























Assoc operations






mapWithKey :: Eq k => (k > a > b) > FM k a > FM k b  Source 


foldWithKey :: Eq k => (k > a > b > b) > b > FM k a > b  Source 


foldWithKey' :: Eq k => (k > a > b > b) > b > FM k a > b  Source 






OrdAssoc operations










foldrWithKey :: Ord k => (k > a > b > b) > b > FM k a > b  Source 


foldrWithKey' :: Ord k => (k > a > b > b) > b > FM k a > b  Source 


foldlWithKey :: Ord k => (b > k > a > b) > b > FM k a > b  Source 


foldlWithKey' :: Ord k => (b > k > a > b) > b > FM k a > b  Source 




FiniteMapX operations




fromSeqWithKey :: (Eq k, Sequence seq) => (k > a > a > a) > seq (k, a) > FM k a  Source 


insertWith :: Eq k => (a > a > a) > k > a > FM k a > FM k a  Source 


insertWithKey :: Eq k => (k > a > a > a) > k > a > FM k a > FM k a  Source 




insertSeqWithKey :: (Eq k, Sequence seq) => (k > a > a > a) > seq (k, a) > FM k a > FM k a  Source 






unionWith :: Eq k => (a > a > a) > FM k a > FM k a > FM k a  Source 




intersectionWith :: Eq k => (a > b > c) > FM k a > FM k b > FM k c  Source 




















FiniteMap operations


unionWithKey :: Eq k => (k > a > a > a) > FM k a > FM k a > FM k a  Source 




intersectionWithKey :: Eq k => (k > a > b > c) > FM k a > FM k b > FM k c  Source 


Documentation




Produced by Haddock version 2.3.0 