accessor_base

Accessors for Base types, for use with the Accessor library
IN THIS PACKAGE
Module Accessor_base . Fn
val negated : ( 'i -> ( 'a -> Base.bool ) -> 'b -> Base.bool, 'i -> ( 'a -> Base.bool ) -> 'b -> Base.bool, [< Accessor_base__Import.isomorphism ] ) Accessor.General.t

Access the inverse of a predicate.

val result : ( 'i -> 'a -> 'b, 'i -> ( 'c -> 'a ) -> 'c -> 'b, [< Accessor_base__Import.mapper ] ) Accessor.General.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.General.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.General.t

Access a function with its arguments flipped.

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

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