perdure-0.2.0: Robust persistence for acyclic immutable data

Safe HaskellNone

Database.Perdure.Data.Map

Synopsis

Documentation

data Map k a Source

Unlike Data.Map, this Map does not support constant time size computation

Instances

Typeable2 Map 
Functor (Map k) 
(Eq k, Eq a) => Eq (Map k a) 
(Show k, Show a) => Show (Map k a) 
Structured (Map k0 a0) 
(Persistent a, Persistent k, Typeable k, Typeable a) => Persistent (Map k a) 

updateM :: forall k a b. Ord k => k -> State (Maybe a) b -> State (Map k a) bSource

General update/lookup at a single key. The State monad used supports non-modification. Nothing denotes the absence of a value.

null :: Map k a -> BoolSource

lookup :: Ord k => k -> Map k a -> Maybe aSource

insert :: Ord k => k -> a -> Map k a -> Map k aSource

insertWith :: Ord k => (a -> a -> a) -> k -> a -> Map k a -> Map k aSource

delete :: Ord k => k -> Map k a -> Map k aSource

foldlWithKey :: forall z k a. (z -> k -> a -> z) -> z -> Map k a -> zSource

foldrWithKey :: forall z k a. (k -> a -> z -> z) -> z -> Map k a -> zSource

fromList :: Ord k => [(k, a)] -> Map k aSource

toList :: Map k a -> [(k, a)]Source

assocs :: Map k a -> [(k, a)]Source

elems :: Map k a -> [a]Source

maxKey :: Map k a -> Maybe kSource

scan :: forall k a z. (k -> a -> z) -> (k -> z -> z -> z) -> Map k a -> Maybe zSource

mapLens :: Ord k => k -> Lens (Map k a) (Maybe a)Source