Module Accessor_base.Many
type ('a, +'x, 'y) t
An
(a, x, y) t
is an applicative for definingmany
accessors. See the documentation ofAccessor.many
for more information.A value of type
(a, x, y) t
can make the following claim: I can give you some number ofx
es and if you tell me how to replace each of them with ay
, I will also give you ana
.
module Accessed = Accessor.Many.Accessed
val access : 'a -> ('b, 'a, 'b) t
access a
"accesses"a
and returns the value you are expected replace it with.
val of_nonempty : ('a, 'x, 'y) Accessor.Nonempty.t -> ('a, 'x, 'y) t
module Of_applicative = Accessor.Many.Of_applicative
module Of_applicative2 = Accessor.Many.Of_applicative2
module Of_applicative3 = Accessor.Many.Of_applicative3
module Open_on_rhs_intf = Accessor.Many.Open_on_rhs_intf
include Base.Applicative.S3 with type ('a, 'b, 'c) t := ('a, 'b, 'c) t
include Base__.Applicative_intf.For_let_syntax3
val return : 'a -> ('a, _, _) t
val map : ('a, 'd, 'e) t -> f:('a -> 'b) -> ('b, 'd, 'e) t
val both : ('a, 'd, 'e) t -> ('b, 'd, 'e) t -> ('a * 'b, 'd, 'e) t
include Base__.Applicative_intf.Applicative_infix3 with type ('a, 'd, 'e) t := ('a, 'd, 'e) t
val apply : ('a -> 'b, 'd, 'e) t -> ('a, 'd, 'e) t -> ('b, 'd, 'e) t
val map2 : ('a, 'd, 'e) t -> ('b, 'd, 'e) t -> f:('a -> 'b -> 'c) -> ('c, 'd, 'e) t
val map3 : ('a, 'd, 'e) t -> ('b, 'd, 'e) t -> ('c, 'd, 'e) t -> f:('a -> 'b -> 'c -> 'result) -> ('result, 'd, 'e) t
val all : ('a, 'd, 'e) t list -> ('a list, 'd, 'e) t
val all_unit : (unit, 'd, 'e) t list -> (unit, 'd, 'e) t
module Applicative_infix : Base__.Applicative_intf.Applicative_infix3 with type ('a, 'd, 'e) t := ('a, 'd, 'e) t
include Base.Applicative.Let_syntax3 with type ('a, 'b, 'c) t := ('a, 'b, 'c) t with module Open_on_rhs_intf := Open_on_rhs_intf
module Open_on_rhs_intf : sig ... end
module Let_syntax : sig ... end
module Make_access : functor (T : sig ... end) -> sig ... end
module Make_access3 : functor (T : sig ... end) -> sig ... end
module Make_access4 : functor (T : sig ... end) -> sig ... end