Module Accessor_core__.Accessor_list
include module type of Accessor_core__.Import.Accessor.List
val nil : (_, Base.unit, 'a Base.list, [< Accessor_base__.Import.variant ]) Accessor_base__.Import.Accessor.Simple.t
Access
()
iff the list is empty.
val cons : ('i -> ('a * 'a Base.list) -> 'b * 'b Base.list, 'i -> 'a Base.list -> 'b Base.list, [< Accessor_base__.Import.variant ]) Accessor_base__.Import.Accessor.t
Access the head and tail of a list, if it is nonempty.
val nth : Base.int -> (_, 'a, 'a Base.list, [< Accessor_base__.Import.optional ]) Accessor_base__.Import.Accessor.Simple.t
Access an element at a specified position in a list, if the list is long enough to have such an element.
val reversed : ('i -> 'a Base.list -> 'b Base.list, 'i -> 'a Base.list -> 'b Base.list, [< Accessor_base__.Import.isomorphism ]) Accessor_base__.Import.Accessor.t
Access a reversed version of a list.
val split_n : Base.int -> ('i -> ('a Base.list * 'a Base.list) -> 'b Base.list * 'b Base.list, 'i -> 'a Base.list -> 'b Base.list, [< Accessor_base__.Import.isomorphism ]) Accessor_base__.Import.Accessor.t
Access a list as its prefix and suffix, split around a given index.
val prefixed : 'a Base.list -> equal:('a -> 'a -> Base.bool) -> (_, 'a Base.list, 'a Base.list, [< Accessor_base__.Import.variant ]) Accessor_base__.Import.Accessor.Simple.t
prefixed prefix ~equal
verifies that a list starts withprefix
, accessing the suffix left after stripping the prefix if so.
val suffixed : 'a Base.list -> equal:('a -> 'a -> Base.bool) -> (_, 'a Base.list, 'a Base.list, [< Accessor_base__.Import.variant ]) Accessor_base__.Import.Accessor.Simple.t
suffixed suffix ~equal
verifies that a list ends withsuffix
, accessing the prefix left after stripping the suffix if so.
val each : ('i -> 'a -> 'b, 'i -> 'a Base.list -> 'b Base.list, [< Accessor_base__.Import.many ]) Accessor_base__.Import.Accessor.t
Access every element in a list.
val eachi : ((Base.int * 'it) -> 'a -> 'b, 'it -> 'a Base.list -> 'b Base.list, [< Accessor_base__.Import.many ]) Accessor_base__.Import.Accessor.t
Like
each
, but also provides you with the index of each element.
include Accessor_base__.Import.Accessor.Monad.S with type 'a t := 'a Base.list
include Accessor__.Applicative_signatures_intf.Monad_s2 with type ('a, _) t := 'a t
val map : ((Base.unit -> 'a -> 'b, Base.unit -> 'at -> 'bt, [> Accessor.Subtyping.many ]) accessor -> 'at -> f:('a -> ('b, 'e) t) -> ('bt, 'e) t) optional_args
val mapi : (('i -> 'a -> 'b, Base.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 -> 'a, Base.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
val zipped : (_, ('a * 'b) list, 'a list * 'b list, [< Accessor_core__.Import.field ]) Accessor_core__.Import.Accessor.Simple.t
Accesses the prefixes of the lists whose length is the same as whichever list is shorter.