Module Fstream


module Fstream: sig .. end
Functional streams

type 'a t 
val from : (int -> 'a option) -> 'a t
val of_list : 'a list -> 'a t
val of_string : string -> char t
val of_channel : Pervasives.in_channel -> char t
val iter : ('a -> unit) -> 'a t -> unit
val next : 'a t -> ('a * 'a t) option
val empty : 'a t -> (unit * 'a t) option
val count : 'a t -> int
val count_unfrozen : 'a t -> int

Backtracking parsers

type ('a, 'b) kont =
| K of (unit -> ('b * 'a t * ('a, 'b) kont) option)
type ('a, 'b) bp = 'a t -> ('b * 'a t * ('a, 'b) kont) option 
val bcontinue : ('a, 'b) kont -> ('b * 'a t * ('a, 'b) kont) option
val bparse_all : ('a, 'b) bp -> 'a t -> 'b list
val nil : 'a t
type 'a data 
val cons : 'a -> 'a t -> 'a data
val app : 'a t -> 'a t -> 'a data
val flazy : (unit -> 'a data) -> 'a t
val b_seq : ('a, 'b) bp -> ('b -> ('a, 'c) bp) -> ('a, 'c) bp
val b_or : ('a, 'b) bp -> ('a, 'b) bp -> ('a, 'b) bp
val b_term : ('a -> 'b option) -> ('a, 'b) bp
val b_act : 'a -> ('b, 'a) bp