`sig type input = BatInnerIO.input type 'a output = 'a BatInnerIO.output type ('a, 'b) printer = 'b BatIO.output -> 'a -> unit type 'a f_printer = Format.formatter -> 'a -> unit exception No_more_input exception Input_closed exception Output_closed val stdin : BatIO.input val stdout : unit BatIO.output val stderr : unit BatIO.output val stdnull : unit BatIO.output val read : BatIO.input -> char val nread : BatIO.input -> int -> string val really_nread : BatIO.input -> int -> string val input : BatIO.input -> string -> int -> int -> int val really_input : BatIO.input -> string -> int -> int -> int val close_in : BatIO.input -> unit val write : (char, 'a) BatIO.printer val nwrite : (string, 'a) BatIO.printer val output : 'a BatIO.output -> string -> int -> int -> int val really_output : 'a BatIO.output -> string -> int -> int -> int val flush : 'a BatIO.output -> unit val flush_all : unit -> unit val close_out : 'a BatIO.output -> 'a val close_all : unit -> unit val input_string : string -> BatIO.input val output_string : unit -> string BatIO.output val input_enum : char BatEnum.t -> BatIO.input val output_enum : unit -> char BatEnum.t BatIO.output val combine : 'a BatIO.output * 'b BatIO.output -> ('a * 'b) BatIO.output val tab_out : ?tab:char -> int -> 'a BatIO.output -> unit BatIO.output val read_all : BatIO.input -> string val pipe : unit -> BatIO.input * unit BatIO.output val copy : ?buffer:int -> BatIO.input -> 'a BatIO.output -> unit val pos_in : BatIO.input -> BatIO.input * (unit -> int) val progress_in : BatIO.input -> (unit -> unit) -> BatIO.input val pos_out : 'a BatIO.output -> unit BatIO.output * (unit -> int) val progress_out : 'a BatIO.output -> (unit -> unit) -> unit BatIO.output external cast_output : 'a BatIO.output -> unit BatIO.output = "%identity" exception Overflow of string val read_byte : BatIO.input -> int val read_signed_byte : BatIO.input -> int val read_ui16 : BatIO.input -> int val read_i16 : BatIO.input -> int val read_i32 : BatIO.input -> int val read_real_i32 : BatIO.input -> int32 val read_i64 : BatIO.input -> int64 val read_float : BatIO.input -> float val read_double : BatIO.input -> float val read_string : BatIO.input -> string val read_line : BatIO.input -> string val write_byte : (int, 'a) BatIO.printer val write_ui16 : (int, 'a) BatIO.printer val write_i16 : (int, 'a) BatIO.printer val write_i32 : (int, 'a) BatIO.printer val write_real_i32 : (int32, 'a) BatIO.printer val write_i64 : (int64, 'a) BatIO.printer val write_double : (float, 'a) BatIO.printer val write_float : (float, 'a) BatIO.printer val write_string : (string, 'a) BatIO.printer val write_line : (string, 'a) BatIO.printer module BigEndian : sig val read_ui16 : BatIO.input -> int val read_i16 : BatIO.input -> int val read_i32 : BatIO.input -> int val read_real_i32 : BatIO.input -> int32 val read_i64 : BatIO.input -> int64 val read_double : BatIO.input -> float val read_float : BatIO.input -> float val write_ui16 : (int, 'a) BatIO.printer val write_i16 : (int, 'a) BatIO.printer val write_i32 : (int, 'a) BatIO.printer val write_real_i32 : (int32, 'a) BatIO.printer val write_i64 : (int64, 'a) BatIO.printer val write_double : (float, 'a) BatIO.printer val write_float : (float, 'a) BatIO.printer val ui16s_of : BatIO.input -> int BatEnum.t val i16s_of : BatIO.input -> int BatEnum.t val i32s_of : BatIO.input -> int BatEnum.t val real_i32s_of : BatIO.input -> int32 BatEnum.t val i64s_of : BatIO.input -> int64 BatEnum.t val doubles_of : BatIO.input -> float BatEnum.t val floats_of : BatIO.input -> float BatEnum.t end type in_bits type out_bits exception Bits_error val input_bits : BatIO.input -> BatIO.in_bits val output_bits : 'a BatIO.output -> BatIO.out_bits val read_bits : BatIO.in_bits -> int -> int val write_bits : BatIO.out_bits -> nbits:int -> int -> unit val flush_bits : BatIO.out_bits -> unit val drop_bits : BatIO.in_bits -> unit val create_in : read:(unit -> char) -> input:(string -> int -> int -> int) -> close:(unit -> unit) -> BatIO.input val wrap_in : read:(unit -> char) -> input:(string -> int -> int -> int) -> close:(unit -> unit) -> underlying:BatIO.input list -> BatIO.input val inherit_in : ?read:(unit -> char) -> ?input:(string -> int -> int -> int) -> ?close:(unit -> unit) -> BatIO.input -> BatIO.input val create_out : write:(char -> unit) -> output:(string -> int -> int -> int) -> flush:(unit -> unit) -> close:(unit -> 'a) -> 'a BatIO.output val wrap_out : write:(char -> unit) -> output:(string -> int -> int -> int) -> flush:(unit -> unit) -> close:(unit -> 'a) -> underlying:'b BatIO.output list -> 'a BatIO.output val inherit_out : ?write:(char -> unit) -> ?output:(string -> int -> int -> int) -> ?flush:(unit -> unit) -> ?close:(unit -> unit) -> 'a BatIO.output -> unit BatIO.output val input_channel : ?autoclose:bool -> ?cleanup:bool -> Pervasives.in_channel -> BatIO.input val output_channel : ?cleanup:bool -> Pervasives.out_channel -> unit BatIO.output val to_input_channel : BatIO.input -> Pervasives.in_channel class in_channel : BatIO.input -> object method close_in : unit -> unit method input : string -> int -> int -> int end class out_channel : 'a BatIO.output -> object method close_out : unit -> unit method flush : unit -> unit method output : string -> int -> int -> int end class in_chars : BatIO.input -> object method close_in : unit -> unit method get : unit -> char end class out_chars : 'a BatIO.output -> object method close_out : unit -> unit method flush : unit -> unit method put : char -> unit end val from_in_channel : #BatIO.in_channel -> BatIO.input val from_out_channel : #BatIO.out_channel -> unit BatIO.output val from_in_chars : #BatIO.in_chars -> BatIO.input val from_out_chars : #BatIO.out_chars -> unit BatIO.output val bytes_of : BatIO.input -> int BatEnum.t val signed_bytes_of : BatIO.input -> int BatEnum.t val ui16s_of : BatIO.input -> int BatEnum.t val i16s_of : BatIO.input -> int BatEnum.t val i32s_of : BatIO.input -> int BatEnum.t val real_i32s_of : BatIO.input -> int32 BatEnum.t val i64s_of : BatIO.input -> int64 BatEnum.t val doubles_of : BatIO.input -> float BatEnum.t val floats_of : BatIO.input -> float BatEnum.t val strings_of : BatIO.input -> string BatEnum.t val lines_of : BatIO.input -> string BatEnum.t val lines_of2 : BatIO.input -> string BatEnum.t val chunks_of : int -> BatIO.input -> string BatEnum.t val chars_of : BatIO.input -> char BatEnum.t val bits_of : BatIO.in_bits -> int BatEnum.t val write_bitss : nbits:int -> BatIO.out_bits -> int BatEnum.t -> unit val default_buffer_size : int val synchronize_in : ?lock:BatConcurrent.lock -> BatIO.input -> BatIO.input val synchronize_out : ?lock:BatConcurrent.lock -> 'a BatIO.output -> unit BatIO.output val lock : BatConcurrent.lock Pervasives.ref val lock_factory : (unit -> BatConcurrent.lock) Pervasives.ref val to_string : ('a, string) BatIO.printer -> 'a -> string val to_f_printer : ('a, 'b) BatIO.printer -> 'a BatIO.f_printer val comb : 'a BatIO.output * 'a BatIO.output -> 'a BatIO.output val make_enum : (BatIO.input -> 'a) -> BatIO.input -> 'a BatEnum.t val get_output_id : 'a BatIO.output -> int val get_input_id : BatIO.input -> int module Incubator : sig module Array : sig val pp : ?flush:bool -> ?first:string -> ?last:string -> ?sep:string -> ?indent:int -> (Format.formatter -> 'a -> 'b) -> Format.formatter -> 'a array -> unit end module Enum : sig val pp : ?flush:bool -> ?first:string -> ?last:string -> ?sep:string -> ?indent:int -> (Format.formatter -> 'a -> 'b) -> Format.formatter -> 'a BatEnum.t -> unit end module List : sig val pp : ?flush:bool -> ?first:string -> ?last:string -> ?sep:string -> ?indent:int -> (Format.formatter -> 'a -> 'b) -> Format.formatter -> 'a list -> unit end end end`