Module Accessor_base__.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 with prefix, 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 with suffix, 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
type 'a t
include Accessor__.Applicative_signatures_intf.Monad_s2 with type ('a, _) t := 'a t
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