Module Ltac2_plugin.Tac2intern

type context = (Names.Id.t * Tac2expr.type_scheme) list
val intern_open_type : Tac2expr.raw_typexpr -> Tac2expr.type_scheme
val genintern_warn_not_unit : ?check_unused:bool -> Genintern.glob_sign -> (Names.Name.t * Tac2typing_env.mix_type_scheme) list -> Tac2expr.raw_tacexpr -> Tac2expr.glb_tacexpr

check_unused is default true

type not_value_reason =
| MutString
| Application
| MutDef of Tac2expr.ltac_constant
| MutCtor of Tac2expr.type_constant
| MutProj of Tac2expr.type_constant
| MaybeValButNotSupported
val check_value : Tac2expr.glb_tacexpr -> not_value_reason option

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

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