Module type Printtyp.Printers

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

type 'a printer
val longident : Longident.t printer
val ident : Ident.t printer
val path : Path.t printer
val type_path : Path.t printer

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

val type_expr : Types.type_expr printer

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.

val type_scheme : Types.type_expr printer
val shared_type_scheme : Types.type_expr printer

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.

val constructor_arguments : Types.constructor_arguments printer
val extension_constructor : Ident.t -> Types.extension_constructor printer

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

val extension_only_constructor : Ident.t -> Types.extension_constructor printer

Prints only extension constructor without type signature: A of float

val value_description : Ident.t -> Types.value_description printer
val type_declaration : Ident.t -> Types.type_declaration printer
val modtype_declaration : Ident.t -> Types.modtype_declaration printer
val class_declaration : Ident.t -> Types.class_declaration printer
val cltype_declaration : Ident.t -> Types.class_type_declaration printer
val signature : Types.signature printer
val class_type : Types.class_type printer