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.
make ~inject ~project g
val inject : ('a, 'b) t -> 'a -> 'b
inject map is the injection function of map.
inject map
map
val project : ('a, 'b) t -> 'b -> 'a
project map is the projection function of map.
project map
val gist : ('a, 'b) t -> 'b gist
gist map is the gist for the range of map.
gist map