Base.Pretty_printerSourceA 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 interface:
val pp : Format.formatter -> t -> unitThe names are actually OCaml identifier names, e.g., "Base.Int.pp". Code for building toplevels (this code is not in Base) evaluates the strings to yield the pretty printers and register them with the OCaml runtime.
all () returns all pretty printers that have been registered.
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 name is added.
Register_pp is like Register, but allows a custom pp function rather than using to_string.
register name adds name to the list of pretty printers. Use the Register functor if possible.