module Pretty_printer:sig
..end
Pretty_printer
has a string list ref
with the names of pp
functions matching the
interface:
val pp : Format.formatter -> t -> unit
The names are actually OCaml identifier names, e.g. "Core.Date.pp". Code for building
toplevels (this code is not in Core) evaluates the strings to yield the pretty
printers and register them with OCaml runtime.
val all : unit -> string list
all ()
returns all pretty printers that have been register
ed.val register : string -> unit
register name
adds name
to the list of pretty printers.module type S =sig
..end
S
.
module Register:functor (
M
:
sig
type
t
val module_name :string
val to_string :t -> string
end
) ->
S
with type t := M.t
Register
builds a pp
function from a to_string
function, and adds the
module_name ^ ".pp"
to the list of pretty printers.
module Register_pp:
Register_pp
is like Register
, but allows a custom pp
function rather than using
to_string
.