Module Base.Pretty_printer
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 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.
module type S = sig ... endModules that provide a pretty printer will match
S.
module Register : functor (M : sig ... end) -> S with type t := M.tRegisterbuilds appfunction from ato_stringfunction, and adds themodule_name ^ ".pp"to the list of pretty printers. The idea is to statically guarantee that one has the desiredppfunction at the same point where thenameis added.
module Register_pp : functor (M : sig ... end) -> S with type t := M.tRegister_ppis likeRegister, but allows a customppfunction rather than usingto_string.