Module Accessor_base__.Accessor_fn

val negated : ('i -> ('a -> Base.bool) -> 'b -> Base.bool'i -> ('a -> Base.bool) -> 'b -> Base.bool[< Accessor_base__.Import.isomorphism ]) Accessor_base__.Import.Accessor.t

Access the inverse of a predicate.

val result : ('i -> 'a -> 'b'i -> ('c -> 'a) -> 'c -> 'b[< Accessor_base__.Import.mapper ]) Accessor_base__.Import.Accessor.t

You can't really extract the result of a function without applying it to something, but you can still map over it.

val resulti : (('c * 'i) -> 'a -> 'b'i -> ('c -> 'a) -> 'c -> 'b[< Accessor_base__.Import.mapper ]) Accessor_base__.Import.Accessor.t

Like result, but uses whatever argument is supplied to the resulting function as an index.

val flipped : ('i -> ('a -> 'b -> 'c) -> 'd -> 'e -> 'f'i -> ('b -> 'a -> 'c) -> 'e -> 'd -> 'f[< Accessor_base__.Import.isomorphism ]) Accessor_base__.Import.Accessor.t

Access a function with its arguments flipped.

This applicative interface allows you to pass some environment around as you access something.

include Accessor_base__.Import.Accessor.Applicative.S2 with type ('output, 'input) t := 'input -> 'output
type ('inner, 'outer, 'kind) accessor
type 'a optional_args
type ('a, 'e) t
val map : ((Base.unit -> 'a -> 'bBase.unit -> 'at -> 'bt[> Accessor.Subtyping.many ]) accessor -> 'at -> f:('a -> ('b'e) t) -> ('bt'e) t) optional_args
val mapi : (('i -> 'a -> 'bBase.unit -> 'at -> 'bt[> Accessor.Subtyping.many ]) accessor -> 'at -> f:('i Accessor.Index.t -> 'a -> ('b'e) t) -> ('bt'e) t) optional_args
val all : (Base.unit -> ('a'e) t -> 'aBase.unit -> 'at -> 'bt[> Accessor.Subtyping.many ]) accessor -> 'at -> ('bt'e) t
val all_unit : (Base.unit -> (Base.unit'e) t -> _Base.unit -> 'at -> _[> Accessor.Subtyping.many_getter ]) accessor -> 'at -> (Base.unit'e) t
val iter : ((Base.unit -> 'a -> _Base.unit -> 'at -> _[> Accessor.Subtyping.many_getter ]) accessor -> 'at -> f:('a -> (Base.unit'e) t) -> (Base.unit'e) t) optional_args
val iteri : (('i -> 'a -> _Base.unit -> 'at -> _[> Accessor.Subtyping.many_getter ]) accessor -> 'at -> f:('i Accessor.Index.t -> 'a -> (Base.unit'e) t) -> (Base.unit'e) t) optional_args
val sum : ((module Base.Container.Summable with type t = 'sum) -> (Base.unit -> 'a -> _Base.unit -> 'at -> _[> Accessor.Subtyping.many_getter ]) accessor -> 'at -> f:('a -> ('sum'e) t) -> ('sum'e) t) optional_args
val sumi : ((module Base.Container.Summable with type t = 'sum) -> ('i -> 'a -> _Base.unit -> 'at -> _[> Accessor.Subtyping.many_getter ]) accessor -> 'at -> f:('i Accessor.Index.t -> 'a -> ('sum'e) t) -> ('sum'e) t) optional_args
val count : ((Base.unit -> 'a -> _Base.unit -> 'at -> _[> Accessor.Subtyping.many_getter ]) accessor -> 'at -> f:('a -> (Base.bool'e) t) -> (Base.int'e) t) optional_args
val counti : (('i -> 'a -> _Base.unit -> 'at -> _[> Accessor.Subtyping.many_getter ]) accessor -> 'at -> f:('i Accessor.Index.t -> 'a -> (Base.bool'e) t) -> (Base.int'e) t) optional_args
val map_reduce : ((Base.unit -> 'a -> _Base.unit -> 'at -> _[> Accessor.Subtyping.many_getter ]) accessor -> 'at -> empty:'b -> combine:('b -> 'b -> 'b) -> f:('a -> ('b'e) t) -> ('b'e) t) optional_args
val map_reducei : (('i -> 'a -> _Base.unit -> 'at -> _[> Accessor.Subtyping.many_getter ]) accessor -> 'at -> empty:'b -> combine:('b -> 'b -> 'b) -> f:('i Accessor.Index.t -> 'a -> ('b'e) t) -> ('b'e) t) optional_args
val map_reduce_nonempty : ((Base.unit -> 'a -> _Base.unit -> 'at -> _[> Accessor.Subtyping.nonempty_getter ]) accessor -> 'at -> combine:('b -> 'b -> 'b) -> f:('a -> ('b'e) t) -> ('b'e) t) optional_args
val map_reduce_nonemptyi : (('i -> 'a -> _Base.unit -> 'at -> _[> Accessor.Subtyping.nonempty_getter ]) accessor -> 'at -> combine:('b -> 'b -> 'b) -> f:('i Accessor.Index.t -> 'a -> ('b'e) t) -> ('b'e) t) optional_args