package accessor

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Accessor.ManySource

Sourcetype ('a, +'x, 'y) t

An (a, x, y) t is an applicative for defining many accessors. See the documentation of Accessor.many for more information.

A value of type (a, x, y) t can make the following claim: I can give you some number of xes and if you tell me how to replace each of them with a y, I will also give you an a.

Sourcemodule Accessed : Base.Monad.S_indexed with type ('x, 'a, 'y) t := ('a, 'x, 'y) t

The same as S except the monad type has three arguments. The second and third are composed across all computation.

Sourceval access : 'a -> ('b, 'a, 'b) t

access a "accesses" a and returns the value you are expected replace it with.

Sourceval of_nonempty : ('a, 'x, 'y) Nonempty.t -> ('a, 'x, 'y) t
Sourcemodule Of_applicative (A : sig ... end) : sig ... end
Sourcemodule Of_applicative2 (A : sig ... end) : sig ... end
Sourcemodule Of_applicative3 (A : sig ... end) : sig ... end
Sourcemodule Open_on_rhs_intf : sig ... end
include Base.Applicative.S3 with type ('a, 'b, 'c) t := ('a, 'b, 'c) t
Sourceval return : 'a -> ('a, _, _) t
Sourceval map : ('a, 'd, 'e) t -> f:('a -> 'b) -> ('b, 'd, 'e) t
Sourceval both : ('a, 'd, 'e) t -> ('b, 'd, 'e) t -> ('a * 'b, 'd, 'e) t
Sourceval (<*>) : ('a -> 'b, 'd, 'e) t -> ('a, 'd, 'e) t -> ('b, 'd, 'e) t
Sourceval (<*) : ('a, 'd, 'e) t -> (unit, 'd, 'e) t -> ('a, 'd, 'e) t
Sourceval (*>) : (unit, 'd, 'e) t -> ('a, 'd, 'e) t -> ('a, 'd, 'e) t
Sourceval (>>|) : ('a, 'd, 'e) t -> ('a -> 'b) -> ('b, 'd, 'e) t
Sourceval apply : ('a -> 'b, 'd, 'e) t -> ('a, 'd, 'e) t -> ('b, 'd, 'e) t
Sourceval map2 : ('a, 'd, 'e) t -> ('b, 'd, 'e) t -> f:('a -> 'b -> 'c) -> ('c, 'd, 'e) t
Sourceval map3 : ('a, 'd, 'e) t -> ('b, 'd, 'e) t -> ('c, 'd, 'e) t -> f:('a -> 'b -> 'c -> 'result) -> ('result, 'd, 'e) t
Sourceval all : ('a, 'd, 'e) t list -> ('a list, 'd, 'e) t
Sourceval all_unit : (unit, 'd, 'e) t list -> (unit, 'd, 'e) t
Sourcemodule Applicative_infix : sig ... end
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
Sourceval access_many : (Base.unit -> 'a -> 'b, Base.unit -> 'at -> 'bt, [> Subtyping.many ]) General.t -> 'at -> ('bt, 'a, 'b) t

Access everything that the given accessor accesses.

Sourcemodule Let_syntax : sig ... end
Sourcemodule Accessor : sig ... end
Sourcemodule Make_access (T : sig ... end) : sig ... end
Sourcemodule Make_access3 (T : sig ... end) : sig ... end
Sourcemodule Make_access4 (T : sig ... end) : sig ... end
OCaml

Innovation. Community. Security.