Provided by: ocaml-nox_4.02.3-5ubuntu2_amd64 bug

NAME

       Stream - Streams and parsers.

Module

       Module   Stream

Documentation

       Module Stream
        : sig end

       Streams and parsers.

       type 'a t

       The type of streams holding values of type 'a .

       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.

       === Stream builders ===

       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_list : 'a list -> 'a t

       Return the stream holding the elements of the list in the same order.

       val of_string : string -> char t

       Return the stream of the characters of the string parameter.

       val of_bytes : bytes -> char t

       Return the stream of the characters of the bytes parameter.

       Since 4.02.0

       val of_channel : Pervasives.in_channel -> char t

       Return the stream of the characters read from the input channel.

       === Stream iterator ===

       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.

       === Predefined parsers ===

       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 empty : 'a t -> unit

       Return () if the stream is empty, else raise Stream.Failure .

       === Useful functions ===

       val peek : 'a t -> 'a option

       Return Some of "the first element" of the stream, or None if the stream is empty.

       val junk : 'a t -> unit

       Remove the first element of the stream, possibly unfreezing it before.

       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.