package rocq-runtime
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=3f0fc283e8644394aa9c7a6e3995b6d9ebbe1e6dda712bf431f9c372dcef95ad
doc/ltac_plugin/Ltac_plugin/Tacenv/index.html
Module Ltac_plugin.TacenvSource
This module centralizes the various ways of registering tactics.
Tactic naming
Tactic notations
Type of tactic alias, used in the TacAlias node.
type alias_tactic = {alias_args : Names.Id.t list;alias_body : Tacexpr.glob_tactic_expr;alias_deprecation : Deprecation.t option;alias_is_ml : Tacexpr.ml_tactic_entry option;
}Contents of a tactic notation
Register a tactic alias.
Recover the body of an alias. Raises an anomaly if it does not exist.
Rocq tactic definitions
val register_ltac :
bool ->
bool ->
?deprecation:Deprecation.t ->
Names.Id.t ->
Tacexpr.glob_tactic_expr ->
unitRegister a new Ltac with the given name and body.
The first boolean indicates whether this is done from ML side, rather than Rocq side. If the second boolean flag is set to true, then this is a local definition. It also puts the Ltac name in the nametab, so that it can be used unqualified.
Replace a Ltac with the given name and body.
Find a user-defined tactic by name. Raise Not_found if it is absent.
Whether the tactic is defined from ML-side
The tactic deprecation notice, if any
type ltac_entry = {tac_for_ml : bool;(*Whether the tactic is defined from ML-side
*)tac_body : Tacexpr.glob_tactic_expr;(*The current body of the tactic
*)tac_redef : Names.ModPath.t list;(*List of modules redefining the tactic in reverse chronological order
*)tac_deprecation : Deprecation.t option;(*Deprecation notice to be printed when the tactic is used
*)
}Low-level access to all Ltac entries currently defined.
ML tactic extensions
type interp_sign = {lfun : Geninterp.Val.t Names.Id.Map.t;poly : PolyFlags.t;extra : TacStore.t;
}Type of external tactics, used by TacML.
val register_ml_tactic :
?overwrite:bool ->
?warn:(?loc:Loc.t -> unit -> unit) ->
Tacexpr.ml_tactic_name ->
ml_tactic array ->
unitRegister an external tactic.
Get the named tactic. Raises a user error if it does not exist.