Bwd.BwdLabels
This module is similar to ListLabels
but for backward lists.
Notes on the discrepancies with ListLabels
:
New:
Changed:
cons
was replaced by snoc
.append
was replaced by a new version that performs the "textual order yoga".nth
, nth_opt
, init
, iteri
, mapi
, and filteri
.iter
, map
, fold_left
, fold_right
, exists
, mem
, find
, filter
, and other similar functions.Forbidden:
rev
, rev_append
, rev_map
, and rev_map2
will never be included.Missing but may be added in the future:
tl
(as hd
for lists), hd
(as tl
for lists), concat
, flatten
, concat_map
.Please open a GitHub issue if you want a function to be included. We want to make this library useful to you, too!
val length : 'a bwd -> int
val compare_length_with : 'a bwd -> len:int -> int
val is_empty : 'a bwd -> bool
val nth : 'a bwd -> int -> 'a
val nth_opt : 'a bwd -> int -> 'a option
val init : len:int -> f:(int -> 'a) -> 'a bwd
val prepend : 'a bwd -> 'a list -> 'a list
Note that the iteration direction is from the right to the left, in the opposite direction of the corresponding functions in ListLabels
.
val iter : f:('a -> unit) -> 'a bwd -> unit
val iteri : f:(int -> 'a -> unit) -> 'a bwd -> unit
val fold_left : f:('a -> 'b -> 'a) -> init:'a -> 'b bwd -> 'a
Not tail-recursive.
val fold_right : f:('a -> 'b -> 'b) -> 'a bwd -> init:'b -> 'b
Note that the iteration direction is from the right to the left, in the opposite direction of the corresponding functions in ListLabels
.
Note that the iteration direction is from the right to the left, in the opposite direction of the corresponding functions in ListLabels
.
val for_all : f:('a -> bool) -> 'a bwd -> bool
val exists : f:('a -> bool) -> 'a bwd -> bool
val mem : 'a -> set:'a bwd -> bool
val memq : 'a -> set:'a bwd -> bool
Note that the iteration direction is from the right to the left, in the opposite direction of the corresponding functions in ListLabels
.
val find : f:('a -> bool) -> 'a bwd -> 'a
val find_opt : f:('a -> bool) -> 'a bwd -> 'a option
val find_index : f:('a -> bool) -> 'a bwd -> int option
val find_map : f:('a -> 'b option) -> 'a bwd -> 'b option
val find_mapi : f:(int -> 'a -> 'b option) -> 'a bwd -> 'b option
val to_list : 'a bwd -> 'a list
val of_list : 'a list -> 'a bwd
module Infix : sig ... end