# Module Std_kernel.Pretty_printer

    module Pretty_printer: Pretty_printer

    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

Modules that provide a pretty printer will match `S`.

    module Register: functor (M : sig
    type t

    val module_name : string
    val to_string : t -> stringend) -> 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: functor (M : sig
    include Pretty_printer.S

    val module_name : stringend) -> S  with type t := M.t

`Register_pp` is like `Register`, but allows a custom `pp` function rather than using `to_string`.