sig
type document
val empty : PPrintEngine.document
val char : char -> PPrintEngine.document
val string : string -> PPrintEngine.document
val substring : string -> int -> int -> PPrintEngine.document
val fancystring : string -> int -> PPrintEngine.document
val fancysubstring : string -> int -> int -> int -> PPrintEngine.document
val utf8string : string -> PPrintEngine.document
val hardline : PPrintEngine.document
val blank : int -> PPrintEngine.document
val break : int -> PPrintEngine.document
val ( ^^ ) :
PPrintEngine.document -> PPrintEngine.document -> PPrintEngine.document
val nest : int -> PPrintEngine.document -> PPrintEngine.document
val group : PPrintEngine.document -> PPrintEngine.document
val ifflat :
PPrintEngine.document -> PPrintEngine.document -> PPrintEngine.document
val align : PPrintEngine.document -> PPrintEngine.document
module ToChannel :
sig
type channel = out_channel
type document = document
val pretty : float -> int -> channel -> document -> unit
val compact : channel -> document -> unit
end
module ToBuffer :
sig
type channel = Buffer.t
type document = document
val pretty : float -> int -> channel -> document -> unit
val compact : channel -> document -> unit
end
module ToFormatter :
sig
type channel = Format.formatter
type document = document
val pretty : float -> int -> channel -> document -> unit
val compact : channel -> document -> unit
end
type requirement = int
val infinity : PPrintEngine.requirement
class type output =
object
method char : char -> unit
method substring : string -> int -> int -> unit
end
type state = {
width : int;
ribbon : int;
mutable last_indent : int;
mutable column : int;
}
class type custom =
object
method compact : PPrintEngine.output -> unit
method pretty :
PPrintEngine.output -> PPrintEngine.state -> int -> bool -> unit
method requirement : PPrintEngine.requirement
end
val custom : PPrintEngine.custom -> PPrintEngine.document
val requirement : PPrintEngine.document -> PPrintEngine.requirement
val pretty :
PPrintEngine.output ->
PPrintEngine.state -> int -> bool -> PPrintEngine.document -> unit
val compact : PPrintEngine.output -> PPrintEngine.document -> unit
end