observable-sharing-0.2.1.2: Simple observable sharing

Safe HaskellNone
LanguageHaskell2010

Data.Ref.Map

Synopsis

Documentation

data Map f Source

A reference indexed map.

useful for associating info with a reference.

type Name = StableName Source

Shorthand

empty :: Map f Source

Construct an empty map.

singleton :: Name a -> f a -> Map f Source

Construct a map with a single element.

null :: Map f -> Bool Source

Returns True if the map is empty, False otherwise.

size :: Map f -> Int Source

Returns the number of elements stored in this map.

member :: Name a -> Map f -> Bool Source

Returns True if the name is present in the map, False otherwise.

lookup :: Name a -> Map f -> Maybe (f a) Source

Finds the value associated with the name, or Nothing if the name has no value associated to it.

insert :: Ref a -> f a -> Map f -> Map f Source

Associates a reference with the specified value. If the map already contains a mapping for the reference, the old value is replaced.

delete :: Ref a -> Map f -> Map f Source

Removes the associated value of a reference, if any is present in the map.

adjust :: (f a -> f b) -> Ref a -> Map f -> Map f Source

Updates the associated value of a reference, if any is present in the map.

union :: Map f -> Map f -> Map f Source

Union of two maps (left biased).

difference :: Map f -> Map f -> Map f Source

Difference of two maps.

intersection :: Map f -> Map f -> Map f Source

Intersectino of two maps.

debug :: Map f -> (forall a. f a -> String) -> IO () Source