containers.iter
CCLazy_list
containers
containers.data
containers.monomorphic
containers.sexp
containers.thread
containers.top
containers.unix
type +'a t = 'a node lazy_t
and +'a node =
| Nil
| Cons of 'a * 'a t
val empty : 'a t
Empty list.
val return : 'a -> 'a t
Return a computed value.
val is_empty : _ t -> bool
Evaluate the head.
val length : _ t -> int
length l returns the number of elements in l, eagerly (linear time). Caution, will not terminate if l is infinite.
length l
l
val cons : 'a -> 'a t -> 'a t
val head : 'a t -> ('a * 'a t) option
Evaluate head, return it, or None if the list is empty.
None
val map : f:('a -> 'b) -> 'a t -> 'b t
Lazy map.
val filter : f:('a -> bool) -> 'a t -> 'a t
Filter values.
val take : int -> 'a t -> 'a t
Take at most n values.
val append : 'a t -> 'a t -> 'a t
Lazy concatenation.
val flat_map : f:('a -> 'b t) -> 'a t -> 'b t
Monadic flatten + map.
val default : default:'a t -> 'a t -> 'a t
Choice operator.
module Infix : sig ... end
include module type of Infix
val (>|=) : 'a t -> ('a -> 'b) -> 'b t
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
val (<|>) : 'a t -> 'a t -> 'a t
Alias to default.
default
type 'a gen = unit -> 'a option
val of_gen : 'a gen -> 'a t
val of_list : 'a list -> 'a t
val to_list : 'a t -> 'a list
val to_list_rev : 'a t -> 'a list
val to_gen : 'a t -> 'a gen