module type S_no_copy =sig..end
All values associated to a datatype, excepted copy.
include Datatype.Ty
val name : stringUnique name of the datatype.
val descr : Datatype.t Descr.tDatatype descriptor.
val packed_descr : Structural_descr.packPacked version of the descriptor.
val reprs : Datatype.t listList of representants of the descriptor.
val equal : Datatype.t -> Datatype.t -> boolEquality: same spec than Stdlib.(=).
val compare : Datatype.t -> Datatype.t -> intComparison: same spec than Stdlib.compare.
val hash : Datatype.t -> intHash function: same spec than Hashtbl.hash.
val pretty_code : Stdlib.Format.formatter -> Datatype.t -> unitPretty 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 -> Stdlib.Format.formatter -> Datatype.t -> unitSame 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 : Stdlib.Format.formatter -> Datatype.t -> unitPretty print each value in an user-friendly way.
val varname : Datatype.t -> stringA 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 -> boolmem_project f x must return true iff there is a value p of type
Project.t in x such that f p returns true.