Module Gist.Map

Maps for gist processors.

type ('a, 'b) t

The type for types represented by another type.

val make : inject:('a -> 'b) -> project:('b -> 'a) -> 'b gist -> ('a, 'b) t

make ~inject ~project g is a map with given parameters.

val inject : ('a, 'b) t -> 'a -> 'b

inject map is the injection function of map.

val project : ('a, 'b) t -> 'b -> 'a

project map is the projection function of map.

val gist : ('a, 'b) t -> 'b gist

gist map is the gist for the range of map.