Module type Datatype.S_no_copy

module type S_no_copy = sig .. end
All values associated to a datatype, excepted copy.

include Datatype.Ty
val name : string
Unique name of the datatype.
val descr : Datatype.t Descr.t
Datatype descriptor.
val packed_descr : Structural_descr.pack
Packed version of the descriptor.
val reprs : Datatype.t list
List of representants of the descriptor.
val equal : Datatype.t -> Datatype.t -> bool
Equality: same spec than Pervasives.(=).
val compare : Datatype.t -> Datatype.t -> int
Comparison: same spec than Pervasives.compare.
val hash : Datatype.t -> int
Hash function: same spec than Hashtbl.hash.
val pretty_code : Format.formatter -> Datatype.t -> unit
Pretty print each value in an ML-like style: the result must be a valid OCaml expression. Only useful for journalisation.
val internal_pretty_code : Type.precedence -> Format.formatter -> Datatype.t -> unit
Same spec than pretty_code, but must take care of the precedence of the context in order to put parenthesis if required. See Type.par.
val pretty : Format.formatter -> Datatype.t -> unit
Pretty print each value in an user-friendly way.
val varname : Datatype.t -> string
A good prefix name to use for an OCaml variable of this type. Only useful for journalisation.
val mem_project : (Project_skeleton.t -> bool) -> Datatype.t -> bool
mem_project f x must return true iff there is a value p of type Project.t in x such that f p returns true.