package coq
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=73466e61f229b23b4daffdd964be72bd7a110963b9d84bd4a86bb05c5dc19ef3
doc/coq-core.stm/Stm/index.html
Module Stm
Source
state-transaction-machine interface
The STM document type stm_doc_type
determines some properties such as what uncompleted proofs are allowed and what gets recorded to aux files.
type stm_init_options = {
doc_type : stm_doc_type;
(*The STM does set some internal flags differently depending on the specified
*)doc_type
. This distinction should disappear at some some point.injections : Coqargs.injection_command list;
(*Injects Require and Set/Unset commands before the initial state is ready
*)stm_options : AsyncOpts.stm_opt;
(*Low-level STM options
*)
}
STM initialization options:
The type of a STM document
init_process
performs some low-level initialization, call early
init_core
snapshorts the initial system state
new_doc opt
Creates a new document with options opt
val parse_sentence :
doc:doc ->
Stateid.t ->
entry:(Pvernac.proof_mode option -> 'a Pcoq.Entry.t) ->
Pcoq.Parsable.t ->
'a
parse_sentence sid entry pa
Reads a sentence from pa
with parsing state sid
and non terminal entry
. entry
receives in input the current proof mode. sid
should be associated with a valid parsing state (which may not be the case if an error was raised at parsing time).
val snapshot_vio :
create_vos:bool ->
doc:doc ->
output_native_objects:bool ->
Names.DirPath.t ->
string ->
doc
val finish_tasks :
string ->
Library.seg_univ ->
Library.seg_proofs ->
tasks ->
Library.seg_univ * Library.seg_proofs
workers **************************************************************** *
document structure customization *************************************** *
type static_block_declaration = {
block_start : Stateid.t;
block_stop : Stateid.t;
dynamic_switch : Stateid.t;
carry_on_data : DynBlockData.t;
}
type document_view = {
entry_point : document_node;
prev_node : document_node -> document_node option;
}
type recovery_action = {
base_state : Stateid.t;
goals_to_admit : Goal.goal list;
recovery_command : Vernacexpr.vernac_control option;
}
val register_proof_block_delimiter :
Vernacextend.proof_block_name ->
static_block_detection ->
dynamic_block_error_recovery ->
unit
customization ********************************************************** *
User adds a sentence to the document (after parsing)