package coq
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=b1501d686c21836302191ae30f610cca57fb309214c126518ca009363ad2cd3c
doc/ltac2_plugin/Ltac2_plugin/Tac2env/index.html
Module Ltac2_plugin.Tac2envSource
Ltac2 global environment
Toplevel definition of values
type global_data = {gdata_expr : Tac2expr.glb_tacexpr;gdata_type : Tac2expr.type_scheme;gdata_mutable : bool;gdata_deprecation : Deprecation.t option;
}Toplevel definition of types
Toplevel definition of algebraic constructors
type constructor_data = {cdata_prms : int;(*Type parameters
*)cdata_type : Tac2expr.type_constant;(*Inductive definition to which the constructor pertains
*)cdata_args : int Tac2expr.glb_typexpr list;(*Types of the constructor arguments
*)cdata_indx : int option;(*Index of the constructor in the ADT. Numbering is duplicated between argumentless and argument-using constructors, e.g. in type
*)'a optionNoneandSomehave both index 0. This field is empty whenever the constructor is a member of an open type.
}Toplevel definition of projections
type projection_data = {pdata_prms : int;(*Type parameters
*)pdata_type : Tac2expr.type_constant;(*Record definition to which the projection pertains
*)pdata_ptyp : int Tac2expr.glb_typexpr;(*Type of the projection
*)pdata_mutb : bool;(*Whether the field is mutable
*)pdata_indx : int;(*Index of the projection
*)
}Toplevel definition of aliases
val define_alias :
?deprecation:Deprecation.t ->
Tac2expr.ltac_constant ->
Tac2expr.raw_tacexpr ->
unitName management
val push_constructor :
Nametab.visibility ->
Libnames.full_path ->
Tac2expr.ltac_constructor ->
unitval push_projection :
Nametab.visibility ->
Libnames.full_path ->
Tac2expr.ltac_projection ->
unitToplevel definitions of ML tactics
This state is not part of the summary, contrarily to the ones above. It is intended to be used from ML plugins to register ML-side functions.
ML primitive types
type ('a, 'b) ml_object = {ml_intern : 'r. (Tac2expr.raw_tacexpr, Tac2expr.glb_tacexpr, 'r) intern_fun -> ('a, 'b or_glb_tacexpr, 'r) intern_fun;ml_subst : Mod_subst.substitution -> 'b -> 'b;ml_interp : environment -> 'b -> Tac2ffi.valexpr Proofview.tactic;ml_print : Environ.env -> Evd.evar_map -> 'b -> Pp.t;
}Absolute paths
Path where primitive datatypes are defined in Ltac2 plugin.
Path where Ltac-specific datatypes are defined in Ltac2 plugin.
Path where the Ltac1 legacy FFI is defined.
Generic arguments
val wit_ltac2 :
(Names.Id.t CAst.t list * Tac2expr.raw_tacexpr,
Names.Id.t list * Tac2expr.glb_tacexpr,
Util.Empty.t)
Genarg.genarg_typeLtac2 quotations in Ltac1 code
Embedding Ltac2 closures of type Ltac1.t -> Ltac1.t inside Ltac1. There is no relevant data because arguments are passed by conventional names.
val wit_ltac2_constr :
(Tac2expr.raw_tacexpr, Names.Id.Set.t * Tac2expr.glb_tacexpr, Util.Empty.t)
Genarg.genarg_typeLtac2 quotations in Gallina terms
val wit_ltac2_quotation :
(Names.Id.t Loc.located, Names.Id.t, Util.Empty.t) Genarg.genarg_typeLtac2 quotations for variables "$x" in Gallina terms