base

Full standard library replacement for OCaml
IN THIS PACKAGE
Parameter #1 Base . Indexed_container . Make_gen . T
type 'a t
type 'a elt
val fold : 'a t -> init:'accum -> f:( 'accum -> 'a elt -> 'accum ) -> 'accum
val iter : [ `Define_using_fold | `Custom of 'a t -> f:( 'a elt -> unit ) -> unit ]

The iter argument to Container.Make specifies how to implement the container's iter function. `Define_using_fold means to define iter via:

iter t ~f = Container.iter ~fold t ~f

`Custom overrides the default implementation, presumably with something more efficient. Several other functions returned by Container.Make are defined in terms of iter, so passing in a more efficient iter will improve their efficiency as well.

val length : [ `Define_using_fold | `Custom of 'a t -> int ]

The length argument to Container.Make specifies how to implement the container's length function. `Define_using_fold means to define length via:

length t ~f = Container.length ~fold t ~f

`Custom overrides the default implementation, presumably with something more efficient. Several other functions returned by Container.Make are defined in terms of length, so passing in a more efficient length will improve their efficiency as well.

val iteri : [ `Define_using_fold | `Custom of 'a t -> f:( int -> 'a elt -> unit ) -> unit ]
val foldi : [ `Define_using_fold | `Custom of 'a t -> init:_ -> f:( int -> _ -> 'a elt -> _ ) -> _ ]