Up

module Lazy_sequence

: sig
#
type +'a t
include Core.Std.Container.S1 with type 'a t := 'a t
#
val iteri : 'a t -> f:(int -> 'a -> unit) -> unit
#
val foldi : 'a t -> init:'state -> f:(int -> 'state -> 'a -> 'state) -> 'state
#
val map : 'a t -> f:('a -> 'b) -> 'b t
#
val mapi : 'a t -> f:(int -> 'a -> 'b) -> 'b t
#
val filter : 'a t -> f:('a -> bool) -> 'a t
#
val filter_map : 'a t -> f:('a -> 'b option) -> 'b t
#
val filter_mapi : 'a t -> f:(int -> 'a -> 'b option) -> 'b t
#
val fold_map : 'a t -> init:'state -> f:('state -> 'a -> 'state * 'b) -> 'b t
#
val filter_fold_map : 'a t -> init:'state -> f:('state -> 'a -> 'state * 'b option) -> 'b t
#
val concat : 'a t t -> 'a t
#
val concat_seq_list : 'a t list -> 'a t
#
val concat_list_seq : 'a list t -> 'a t
#
val concat_map : 'a t -> f:('a -> 'b list) -> 'b t
#
val hd : 'a t -> 'a option
#
val last : 'a t -> 'a option
#
val nth : 'a t -> int -> 'a option
#
val tl : 'a t -> 'a t
#
val take : 'a t -> int -> 'a t
#
val drop : 'a t -> int -> 'a t
#
val append : 'a t -> 'a t -> 'a t
#
val sub : 'a t -> pos:int -> len:int -> 'a t
#
val filter_map_partial : 'a t -> f:('a -> [
| `Continue of 'b option
| `Stop
]) -> 'b t
#
val zip_full : 'a t -> 'b t -> ('a option * 'b option) t
#
val length_if_at_most : max:int -> _ t -> int option
#
val length_bounded_by : ?min:int -> ?max:int -> _ t -> bool
#
val of_list : 'a list -> 'a t
#
val of_array : 'a array -> 'a t
#
val init : (int -> 'a option) -> 'a t
#
val read_lines : string -> string t
#
val force : 'a t -> 'a t
#
module Iterator : sig
#
type 'a seq = 'a t
#
type 'a t
#
val create : 'a seq -> 'a t
#
val close : _ t -> unit
#
val with_sequence : 'a seq -> f:('a t -> 'b) -> 'b
#
val has_next : _ t -> bool
#
val peek : 'a t -> 'a option
#
val get : 'a t -> 'a option
#
val get_exn : 'a t -> 'a
#
val iter : 'a t -> f:('a -> unit) -> unit
#
val fold : 'a t -> init:'accum -> f:('accum -> 'a -> 'accum) -> 'accum
#
val copy : 'a t -> 'a t
end
#
val empty : _ t
#
val (==>) : 'a -> (unit -> 'a t) -> 'a t
#
val (==>>) : 'a list -> (unit -> 'a t) -> 'a t
#
val initialize : (unit -> 'a t) -> 'a t
#
val protect : finally:(unit -> unit) -> (unit -> 'a t) -> 'a t
end