Module Printtyp

Printing functions

type namespace := Shape.Sig_component_kind.t
val namespaced_ident : namespace -> Ident.t -> string
val string_of_path : Path.t -> string
val strings_of_paths : namespace -> Path.t list -> string list

Print a list of paths, using the same naming context to avoid name collisions

val printed_signature : string -> Stdlib.Format.formatter -> Types.signature -> unit

printed_signature sourcefile ppf sg print the signature sg of sourcefile with potential warnings for name collisions

module type Printers := sig ... end
module Doc : Printers with type 'a printer := 'a Format_doc.printer

For compatibility with Format printers

include Printers with type 'a printer := 'a Format_doc.format_printer
val wrap_printing_env : error:bool -> Env.t -> (unit -> 'a) -> 'a

Call the function using the environment for type path shortening This affects all the printing functions below Also, if ~error:true, then disable the loading of cmis

Print a type path taking account of -short-paths. Calls should be within wrap_printing_env.

Print out a type. This will pick names for type variables, and will not reuse names for common type variables shared across multiple type expressions. (It will also reset the printing state, which matters for other type formatters such as prepared_type_expr.) If you want multiple types to use common names for type variables, see Out_type.prepare_for_printing and Out_type.prepared_type_expr.

shared_type_scheme is very similar to type_scheme, but does not reset the printing context first. This is intended to be used in cases where the printing should have a particularly wide context, such as documentation generators; most use cases, such as error messages, have narrower contexts for which type_scheme is better suited.

Prints extension constructor with the type signature: type ('a, 'b) bar += A of float

Prints only extension constructor without type signature: A of float