Provided by: ocaml-nox_3.12.1-2ubuntu2_amd64 bug


       Stream - Streams and parsers.


       Module   Stream


       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 Warning: these functions  create  streams  with  fast  access;  it  is
       illegal to mix them with streams built with [< >]; would raise Failure when accessing such
       mixed streams. ===

       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.

       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_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

       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.