Lazy lists.
include Core.Monad.S with type a t := a t
include Base__.Monad_intf.S_without_syntax with type a t := a t
type 'a t
A monad is an abstraction of the concept of sequencing of computations. A value of type 'a monad represents a computation that returns a value of type 'a.
include Base__.Monad_intf.Infix with type a t := a t
module Monad_infix : Base__.Monad_intf.Infix with type a t := a t
val empty : unit ‑> 'a t
val is_empty : 'a t ‑> bool
val length : 'a t ‑> int
val nth : 'a t ‑> int ‑> 'a option
val find : f:('a ‑> bool) ‑> 'a t ‑> 'a option
val fold_left : f:('a ‑> 'b ‑> 'a) ‑> init:'a ‑> 'b t ‑> 'a
val fold_right : f:('a ‑> 'b ‑> 'b) ‑> 'a t ‑> init:'b ‑> 'b
val iter : 'a t ‑> f:('a ‑> unit) ‑> unit
val of_iterator : curr:('a ‑> 'b option) ‑> next:('a ‑> 'a) ‑> init:'a ‑> 'b t
val build : f:('s ‑> ('a * 's) option) ‑> seed:'s ‑> 'a t
val unfold : f:('a ‑> 'a option) ‑> init:'a ‑> 'a t
val uniter : f:(unit ‑> 'a option) ‑> 'a t
val of_list : 'a list ‑> 'a t
val to_rev_list : 'a t ‑> 'a list
val to_list : 'a t ‑> 'a list
val of_array : 'a array ‑> 'a t
val to_array : 'a t ‑> 'a array
module Of_container : sig ... end
module Iterator : sig ... end