Module type Closed.API

The complete interface of a Closed Profunctor.

Type

type ('a, 'b) t

The type held by the Closed Profunctor.

Functions

Type

Functions

val dimap : ('a -> 'b) -> ('c -> 'd) -> ('b, 'c) t -> ('a, 'd) t
val contramap_fst : ('a -> 'b) -> ('b, 'c) t -> ('a, 'c) t

Contramapping over the first argument.

val map_snd : ('b -> 'c) -> ('a, 'b) t -> ('a, 'c) t

Mapping over the second argument.

val closed : ('a, 'b) t -> ('c -> 'a, 'c -> 'b) t

Act on the input type of a function.

val curry : ('a * 'b, 'c) t -> ('a, 'b -> 'c) t

Transform an uncurried function into a curried one.