Up

module IO

: sig
#
type low_io = Std.Json.json Std.Stream.t * (Std.Json.json -> unit)
#
type io = Protocol.a_request Std.Stream.t * (Protocol.response -> unit)
#
val make : input:Pervasives.in_channel -> output:Pervasives.out_channel -> low_io
#
val lift : low_io -> io
#
type io_maker = input:Pervasives.in_channel -> output:Pervasives.out_channel -> low_io
#
val register_protocol : name:string -> desc:string -> io_maker -> unit
#
val select_frontend : string -> unit
#
val invalid_arguments : unit -> 'a
#
val with_location : Location.t -> (string * Std.Json.json) list -> Std.Json.json
end