hbc-library-0.17: HBC library

Safe HaskellSafe-Inferred

OrdMap

Description

Finite mappings with ordered keys.

Red-Black trees. Implementation based on work by Norris Boyd, Andrew W. Appel, David R. Tarditi, and Stephen J. Bevan.

Synopsis

Documentation

data OrdMap a b

Instances

Ord a => Functor (OrdMap a)

 Map a function over the values.

(Ord a, Eq b) => Eq (OrdMap a b) 
(Ord a, Show a, Show b) => Show (OrdMap a b) 

empty :: OrdMap a b

Empty table.

singleton :: Ord a => (a, b) -> OrdMap a b

union :: Ord a => OrdMap a b -> OrdMap a b -> OrdMap a b

unionMany :: Ord a => [OrdMap a b] -> OrdMap a b

add :: Ord a => (a, b) -> OrdMap a b -> OrdMap a b

Insert an element overwriting an existing one with the same key.

(//) :: Ord a => OrdMap a b -> [(a, b)] -> OrdMap a b

toList :: OrdMap a b -> [(a, b)]

fromList :: Ord a => [(a, b)] -> OrdMap a b

length :: OrdMap a b -> Int

null :: OrdMap a b -> Bool

elems :: OrdMap a b -> [b]

indices :: OrdMap a b -> [a]

lookup :: Ord a => a -> OrdMap a b -> Maybe b

Look up an element.

lookupWithDefault :: Ord a => OrdMap a b -> b -> a -> b