(************************************************************************) (* * The Rocq Prover / The Rocq Development Team *) (* v * Copyright INRIA, CNRS and contributors *) (* <O___,, * (see version control and CREDITS file for authors & dates) *) (* \VV/ **************************************************************) (* // * This file is distributed under the terms of the *) (* * GNU Lesser General Public License Version 2.1 *) (* * (see LICENSE file for the text of the license) *) (************************************************************************)
(** This module registers the declaration of global tables, which will be kept
in synchronization during the various backtracks of the system. *)
module Stage : sig
(** We distinguish two stages and separate the system state accordingly. [Synterp]isthesyntacticinterpretationphase,i.e.vernacularparsingand executionofcommandshavinganeffectonparsing.[Interp]isthe
interpretation phase, where standard commands are executed. *) type t = Synterp | Interp
val equal : t -> t -> bool
end
(** Types of global Rocq states. The ['a] type should be pure and marshallable by
the standard OCaml marshalling function. *) type'a summary_declaration = {
stage : Stage.t;
freeze_function : unit -> 'a;
unfreeze_function : 'a -> unit;
init_function : unit -> unit }
(** For tables registered during the launch of rocq repl, the [init_function] willberunonlyonce,duringan[init_summaries]doneattheendof coqtopinitialization.Fortablesregisteredlater(forinstance duringaplugindynlink),[init_function]isusedwhenunfreezing anearlierfrozenstatethatdoesn'tcontainanyvalueforthistable.
valref : ?stage:Stage.t -> ?local:bool -> name:string -> 'a -> 'a ref val ref_tag : ?stage:Stage.t -> name:string -> 'a -> 'a ref * 'a Dyn.tag
(** Special summary for ML modules. This summary entry is special becauseitsunfreezemayloadMLcodeandhenceaddsummary entries.Thusishastoberecognizable,andhandledproperly.
TheargscorrespondtoMltop.PluginSpec.t,thatistosay,the
findlib name for the plugin. *) val declare_ml_modules_summary : stringlist summary_declaration -> unit
(** For global tables registered statically before the end of coqtop
launch, the following empty [init_function] could be used. *)
val nop : unit -> unit
module type FrozenStage = sig
(** The type [frozen] is a snapshot of the states of all the registered
tables of the system. *)
type frozen
val empty_frozen : frozen val freeze_summaries : unit -> frozen val make_marshallable : frozen -> frozen val unfreeze_summaries : ?partial:bool -> frozen -> unit val init_summaries : unit -> unit val project_from_summary : frozen -> 'a Dyn.tag -> 'a
end
module Synterp : FrozenStage
module Interp : sig
include FrozenStage
(** Typed projection of the summary. Experimental API, use with CARE *)
val modify_summary : frozen -> 'a Dyn.tag -> 'a -> frozen val remove_from_summary : frozen -> 'a Dyn.tag -> frozen
end
(** {6 Debug} *) val dump : unit -> (int * string) list
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-09-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.