A list of pretty printers for various types, for use in toplevels.
Pretty_printer has a
string list ref with the names of
pp functions matching the
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.
all () returns all pretty printers that have been
register name adds
name to the list of pretty printers.
Register builds a
pp function from a
to_string function, and adds the
module_name ^ ".pp" to the list of pretty printers. The idea is to statically
guarantee that one has the desired
pp function at the same point where the