sig
type 'a lazy_list = Nil | Cons of 'a * 'a Enumerator.lazy_list lazy_t
type 'a t = (unit -> 'a Enumerator.lazy_list) * ('a -> string)
val iter_list : ('a -> unit) -> 'a Enumerator.lazy_list -> unit
val iter : ('a -> unit) -> 'a Enumerator.t -> unit
val empty : 'a Enumerator.t
val unit : unit Enumerator.t
val bool : bool Enumerator.t
val int : int -> int -> int Enumerator.t
val int32 : int32 -> int32 -> int32 Enumerator.t
val int64 : int64 -> int64 -> int64 Enumerator.t
val nativeint : nativeint -> nativeint -> nativeint Enumerator.t
val make_char : char -> char -> char Enumerator.t
val char : char Enumerator.t
val string : char Enumerator.t -> int -> string Enumerator.t
val float : float -> float -> int -> float Enumerator.t
val complex :
float Enumerator.t -> float Enumerator.t -> Complex.t Enumerator.t
val array : 'a Enumerator.t -> int -> 'a array Enumerator.t
val list : 'a Enumerator.t -> int -> 'a list Enumerator.t
val option : 'a Enumerator.t -> 'a option Enumerator.t
val ref : 'a Enumerator.t -> 'a Pervasives.ref Enumerator.t
val buffer : char Enumerator.t -> int -> Buffer.t Enumerator.t
val queue : 'a Enumerator.t -> int -> 'a Queue.t Enumerator.t
val stack : 'a Enumerator.t -> int -> 'a Stack.t Enumerator.t
val weak : 'a option Enumerator.t -> int -> 'a Weak.t Enumerator.t
val file_chars : string -> char Enumerator.t
val file_bytes : string -> int Enumerator.t
val file_lines : string -> string Enumerator.t
val file_values : string -> ('a -> string) -> 'a Enumerator.t
val lift : 'a -> string -> 'a Enumerator.t
val lift_list : 'a list -> ('a -> string) -> 'a Enumerator.t
val lift_array : 'a array -> ('a -> string) -> 'a Enumerator.t
val lift_string : string -> char Enumerator.t
val filter : ('a -> bool) -> 'a Enumerator.t -> 'a Enumerator.t
val transform : ('a -> 'a) -> 'a Enumerator.t -> 'a Enumerator.t
val sequence : 'a Enumerator.t list -> 'a Enumerator.t
val for_each : int -> int -> (int -> 'a Enumerator.t) -> 'a Enumerator.t
val map1 :
('a -> 'b) -> ('b -> string) -> 'a Enumerator.t -> 'b Enumerator.t
val map2 :
('a -> 'b -> 'c) ->
('c -> string) -> 'a Enumerator.t * 'b Enumerator.t -> 'c Enumerator.t
val map3 :
('a -> 'b -> 'c -> 'd) ->
('d -> string) ->
'a Enumerator.t * 'b Enumerator.t * 'c Enumerator.t -> 'd Enumerator.t
val map4 :
('a -> 'b -> 'c -> 'd -> 'e) ->
('e -> string) ->
'a Enumerator.t * 'b Enumerator.t * 'c Enumerator.t * 'd Enumerator.t ->
'e Enumerator.t
val map5 :
('a -> 'b -> 'c -> 'd -> 'e -> 'f) ->
('f -> string) ->
'a Enumerator.t * 'b Enumerator.t * 'c Enumerator.t * 'd Enumerator.t *
'e Enumerator.t -> 'f Enumerator.t
val zip1 : 'a Enumerator.t -> 'a Enumerator.t
val zip2 : 'a Enumerator.t -> 'b Enumerator.t -> ('a * 'b) Enumerator.t
val zip3 :
'a Enumerator.t ->
'b Enumerator.t -> 'c Enumerator.t -> ('a * 'b * 'c) Enumerator.t
val zip4 :
'a Enumerator.t ->
'b Enumerator.t ->
'c Enumerator.t -> 'd Enumerator.t -> ('a * 'b * 'c * 'd) Enumerator.t
val zip5 :
'a Enumerator.t ->
'b Enumerator.t ->
'c Enumerator.t ->
'd Enumerator.t ->
'e Enumerator.t -> ('a * 'b * 'c * 'd * 'e) Enumerator.t
val create_int_functions :
?inf_eq:('a -> 'a -> bool) ->
('a -> 'a) -> ('a -> string) -> 'a -> 'a -> 'a Enumerator.t
module State :
sig
type 'a state = {
init : 'a Enumerator.t array;
curr : 'a Enumerator.lazy_list array;
}
val get : 'a Enumerator.State.state -> int -> 'a
end
val create_state_based :
(unit -> 'a Enumerator.t array) ->
('a Enumerator.State.state -> 'b) ->
'c -> (unit -> 'b Enumerator.lazy_list) * 'c
end