package coq-core
- Toplevel definition of values
- Toplevel definition of types
- Toplevel definition of algebraic constructors
- Toplevel definition of projections
- Toplevel definition of aliases
- Toplevel definition of notations
- Name management
- Toplevel definitions of ML tactics
- ML primitive types
- Absolute paths
- Generic arguments
- Helper functions
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
md5=0cfaa70f569be9494d24c829e6555d46
    
    
  sha512=8ee967c636b67b22a4f34115871d8f9b9114df309afc9ddf5f61275251088c6e21f6cf745811df75554d30f4cebb6682f23eeb2e88b771330c4b60ce3f6bf5e2
    
    
  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 option- Noneand- Somehave both index 0. This field is empty whenever the constructor is a member of an open type.
}Useful for printing info about currently defined constructors of open types.
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 ->
  unitToplevel definition of notations
type notation_data = - | UntypedNota of Tac2expr.raw_tacexpr
- | TypedNota of {- nota_prms : int;
- nota_argtys : int Tac2expr.glb_typexpr Names.Id.Map.t;
- nota_ty : int Tac2expr.glb_typexpr;
- nota_body : Tac2expr.glb_tacexpr;
 - }
Name 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 -> Tac2val.valexpr Proofview.tactic;
- ml_print : Environ.env -> Evd.evar_map -> 'b -> Pp.t;
- ml_raw_print : Environ.env -> Evd.evar_map -> 'a -> 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_ltac2in1 : 
  (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
val wit_ltac2in1_val : 
  (Names.Id.t CAst.t list * Tac2expr.raw_tacexpr,
    Tac2expr.glb_tacexpr,
    Util.Empty.t)
    Genarg.genarg_typeLtac2 quotations in Ltac1 returning Ltac1 values. When ids are bound interning turns them into Ltac1.lambda.
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_var_quotation : 
  (Names.lident option * Names.lident,
    var_quotation_kind * Names.Id.t,
    Util.Empty.t)
    Genarg.genarg_typeLtac2 quotations for variables "$x" or "$kind:foo" in Gallina terms. NB: "$x" means "$constr:x"
Embedding Ltac2 closures of type Ltac1.t -> Ltac1.t inside Ltac1. There is no relevant data because arguments are passed by conventional names.
Helper functions
- Toplevel definition of values
- Toplevel definition of types
- Toplevel definition of algebraic constructors
- Toplevel definition of projections
- Toplevel definition of aliases
- Toplevel definition of notations
- Name management
- Toplevel definitions of ML tactics
- ML primitive types
- Absolute paths
- Generic arguments
- Helper functions