Module Ltac2_plugin.Tac2intern

type context = (Names.Id.t * Tac2expr.type_scheme) list
val intern_open_type : Tac2expr.raw_typexpr -> Tac2expr.type_scheme
val intern_notation_data : Names.Id.Set.t -> Tac2expr.raw_tacexpr -> Tac2env.notation_data
val is_value : Tac2expr.glb_tacexpr -> bool

Check that a term is a value. Only values are safe to marshall between processes.

val is_pure_constructor : Tac2expr.type_constant -> bool
val check_unit : ?loc:Loc.t -> Tac2expr.type_scheme -> unit
val check_subtype : Tac2expr.type_scheme -> Tac2expr.type_scheme -> bool

check_subtype t1 t2 returns true iff all values of instances of type t1 also have type t2.

Notations
val globalize : Names.Id.Set.t -> Tac2expr.raw_tacexpr -> Tac2expr.raw_tacexpr

Replaces all qualified identifiers by their corresponding kernel name. The set represents bound variables in the context.

val debug_globalize_allow_ext : Names.Id.Set.t -> Tac2expr.raw_tacexpr -> Tac2expr.raw_tacexpr

Variant of globalize which can accept CTacExt using the provided function. Intended for debugging.

Errors

val error_nargs_mismatch : ?loc:Loc.t -> Tac2expr.ltac_constructor -> int -> int -> 'a
val error_nparams_mismatch : ?loc:Loc.t -> int -> int -> 'a

Misc

val drop_ltac2_env : Genintern.Store.t -> Genintern.Store.t