Streams and parsers.
exception
Failure
Raised by parsers when none of the first components of the stream patterns is accepted.
exception
Error of string
Raised by parsers when the first component of a stream pattern is accepted, but one of the following components is rejected.
val from : (int -> 'a option) -> 'a t
Stream.from f
returns a stream built from the function f
.
To create a new stream element, the function f
is called with
the current stream count. The user function f
must return either
Some <value>
for a value or None
to specify the end of the
stream.
Do note that the indices passed to f
may not start at 0
in the
general case. For example, [< '0; '1; Stream.from f >]
would call
f
the first time with count 2
.
val of_bytes : bytes -> char t
Return the stream of the characters of the bytes parameter.
val of_channel : Stdlib.in_channel -> char t
Return the stream of the characters read from the input channel.
val iter : ('a -> unit) -> 'a t -> unit
Stream.iter f s
scans the whole stream s, applying function f
in turn to each stream element encountered.
val next : 'a t -> 'a
Return the first element of the stream and remove it from the stream. Raise Stream.Failure if the stream is empty.
val peek : 'a t -> 'a option
Return Some
of "the first element" of the stream, or None
if
the stream is empty.
val count : 'a t -> int
Return the current count of the stream elements, i.e. the number of the stream elements discarded.
val npeek : int -> 'a t -> 'a list
npeek n
returns the list of the n
first elements of
the stream, or all its remaining elements if less than n
elements are available.
val ising : 'a -> 'a t
val lsing : (unit -> 'a) -> 'a t
val sempty : 'a t
val dump : ('a -> unit) -> 'a t -> unit