Module Closed.Composition

Parameters

Signature

type (_, _) t =
  1. | Composed : (('a, 'b) F.t * ('b, 'c) G.t) -> ('a, 'c) t
include Preface_specs.CLOSED with type ('a, 'b) t := ('a, 'b) t

Type

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.