package erm_xml

  1. Overview
  2. Docs
type input = IterMonad.input = {
  1. buf : string;
  2. i : int;
  3. len : int;
}
type data = IterMonad.data =
  1. | Chunk of input
  2. | EOF
val empty_chunk : input
val empty_stream : data
val is_empty : input -> bool
type !'a t = 'a IterMonad.t =
  1. | Return of 'a
  2. | Continue of data -> 'a t * data
val return : 'a -> 'a t
val fail : exn -> 'a
val bind : 'a t -> ('a -> 'b t) -> 'b t
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
val get : char option t
exception Located_exn of int * int * exn
type stream = {
  1. mutable line : int;
  2. mutable col : int;
  3. mutable decoder : int option t;
}
val set_decoder : string -> stream -> unit
type source = unit
val make_stream : unit -> stream
val error : ?stream:stream -> exn -> 'a
val next_char : stream -> (unit -> 'a t) -> (int -> 'a t) -> 'a t