observable-sharing-0.2.2.0: 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.

(!) :: Map f -> Name a -> f a Source

Unsafe lookup

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 :: Name 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) -> Name a -> Map f -> Map f Source

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

hmap :: (f a -> h a) -> Map f -> Map h Source

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.

data HideType f where Source

HideType, for hiding types!

Constructors

Hide :: f a -> HideType f 

dump :: Map f -> [[(HideType Name, HideType f)]] Source