Module Accessor.Many
type ('a, +'x, 'y) tAn
(a, x, y) tis an applicative for definingmanyaccessors. See the documentation ofAccessor.manyfor more information.A value of type
(a, x, y) tcan make the following claim: I can give you some number ofxes and if you tell me how to replace each of them with ay, I will also give you ana.
module Accessed = Many.Accessedval access : 'a -> ('b, 'a, 'b) taccess a"accesses"aand returns the value you are expected replace it with.
val of_nonempty : ('a, 'x, 'y) Nonempty.t -> ('a, 'x, 'y) t
module Of_applicative = Many.Of_applicativemodule Of_applicative2 = Many.Of_applicative2module Of_applicative3 = Many.Of_applicative3module Open_on_rhs_intf = Many.Open_on_rhs_intfinclude Base.Applicative.S3 with type ('a, 'b, 'c) t := ('a, 'b, 'c) t
include Base__.Applicative_intf.For_let_syntax3
val return : 'a -> ('a, _, _) tval map : ('a, 'd, 'e) t -> f:('a -> 'b) -> ('b, 'd, 'e) tval 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) tval map2 : ('a, 'd, 'e) t -> ('b, 'd, 'e) t -> f:('a -> 'b -> 'c) -> ('c, 'd, 'e) tval map3 : ('a, 'd, 'e) t -> ('b, 'd, 'e) t -> ('c, 'd, 'e) t -> f:('a -> 'b -> 'c -> 'result) -> ('result, 'd, 'e) tval all : ('a, 'd, 'e) t list -> ('a list, 'd, 'e) tval 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) tinclude 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 ... endmodule Let_syntax : sig ... endmodule Make_access : functor (T : sig ... end) -> sig ... endmodule Make_access3 : functor (T : sig ... end) -> sig ... endmodule Make_access4 : functor (T : sig ... end) -> sig ... end