Strong.From_functor
module Functor : Preface_specs.Functor.CORE
type ('a, 'b) t = 'a -> 'b Functor.t
The type held by the Strong.
Strong
Functions
include Preface_specs.Strong.CORE with type ('a, 'b) t := ('a, 'b) t
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 fst : ('a, 'b) t -> ('a * 'c, 'b * 'c) t
Act on the first parameter of the product.
val snd : ('b, 'c) t -> ('a * 'b, 'a * 'c) t
Act on the second parameter of the product.
val uncurry : ('a, 'b -> 'c) t -> ('a * 'b, 'c) t
Uncurry a product Strong Profunctor.
Strong Profunctor
val strong : ('a -> 'b -> 'c) -> ('a, 'b) t -> ('a, 'c) t
Lift a function into a Strong Profunctor.