Support.Geninclude module type of Gentype !'a gen = 'a tval get : 'a t -> 'a optionval next : 'a t -> 'a optionval get_exn : 'a t -> 'aval junk : 'a t -> unitval repeatedly : (unit -> 'a) -> 'a tval empty : 'a genval singleton : 'a -> 'a genval return : 'a -> 'a genval repeat : 'a -> 'a genval iterate : 'a -> ('a -> 'a) -> 'a genval unfold : ('b -> ('a * 'b) option) -> 'b -> 'a genval init : ?limit:int -> (int -> 'a) -> 'a genval is_empty : 'a gen -> boolval fold : ('b -> 'a -> 'b) -> 'b -> 'a gen -> 'bval reduce : ('a -> 'a -> 'a) -> 'a gen -> 'aval iter : ('a -> unit) -> 'a gen -> unitval iteri : (int -> 'a -> unit) -> 'a gen -> unitval length : 'a gen -> intval mem : ?eq:('a -> 'a -> bool) -> 'a -> 'a gen -> boolval nth : int -> 'a gen -> 'aval fold_while : ('a -> 'b -> 'a * [ `Continue | `Stop ]) -> 'a -> 'b gen -> 'aval for_all : ('a -> bool) -> 'a gen -> boolval exists : ('a -> bool) -> 'a gen -> boolval min : ?lt:('a -> 'a -> bool) -> 'a gen -> 'aval max : ?lt:('a -> 'a -> bool) -> 'a gen -> 'aval find : ('a -> bool) -> 'a gen -> 'a optionval sum : int gen -> intval tee : ?n:int -> 'a gen -> 'a Gen_intf.gen listval round_robin : ?n:int -> 'a gen -> 'a Gen_intf.gen listval of_list : 'a list -> 'a genval to_list : 'a gen -> 'a listval to_rev_list : 'a gen -> 'a listval to_array : 'a gen -> 'a arrayval of_array : ?start:int -> ?len:int -> 'a array -> 'a genval to_string : char gen -> stringval to_buffer : Stdlib.Buffer.t -> char gen -> unitval rand_int : int -> int genval int_range : ?step:int -> int -> int -> int genmodule Infix : sig ... endval (--) : int -> int -> int genval pp :
?start:string ->
?stop:string ->
?sep:string ->
?horizontal:bool ->
(Stdlib.Format.formatter -> 'a -> unit) ->
Stdlib.Format.formatter ->
'a gen ->
unitval of_seq : 'a Stdlib.Seq.t -> 'a genval to_iter : 'a gen -> 'a Gen_intf.itermodule Restart : sig ... endval persistent_to_seq : 'a t -> 'a Stdlib.Seq.tval persistent_lazy_to_seq :
?caching:bool ->
?max_chunk_size:int ->
'a t ->
'a Stdlib.Seq.tmodule IO : sig ... endConverts a string into a generator yielding individual characters.
Constructs a generator yielding successive lines from an input channel until it encounters an error.
drop_lines g ln drops the first ln elements from the generator g.
Transform a character generator into a line generator. This function assumes unix line endings, so it is not portable.
This function also imposes a maximum line length specified via the buffer_size optional argument. (So that it uses constant memory.)
Sequence a list of generators into one generator. Of course, if any generator in the sequence is infinite, subsequent generators will never be pulled from.