package accessor

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type ('a, +'x, 'y) t

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

include Applicative_without_return.S3_without_let_syntax with type ('a, 'x, 'y) t := ('a, 'x, 'y) t
val apply : ('a -> 'b, 'd, 'e) t -> ('a, 'd, 'e) t -> ('b, 'd, 'e) t
val map : ('a, 'd, 'e) t -> f:('a -> 'b) -> ('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 -> 'f) -> ('f, 'd, 'e) t
val both : ('a, 'd, 'e) t -> ('b, 'd, 'e) t -> ('a * 'b, 'd, 'e) t
module Applicative_infix : sig ... end
include module type of Applicative_infix
val (<*>) : ('a -> 'b, 'd, 'e) t -> ('a, 'd, 'e) t -> ('b, 'd, 'e) t
val (>>|) : ('a, 'd, 'e) t -> ('a -> 'b) -> ('b, 'd, 'e) t
module Accessed : Base.Monad.S_indexed with type ('a, 'bt, 'b) t := ('bt, 'a, 'b) t

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

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

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

module Of_applicative_without_return (A : sig ... end) : sig ... end
module Of_applicative_without_return2 (A : sig ... end) : sig ... end
module Of_applicative_without_return3 (A : sig ... end) : sig ... end
val access_nonempty : (Base.unit -> 'a -> 'b, Base.unit -> 'at -> 'bt, [> Subtyping.nonempty ]) General.t -> 'at -> ('bt, 'a, 'b) t

Access everything that the given accessor accesses.

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