aboutsummaryrefslogtreecommitdiffhomepage
path: root/proofs/proofview.mli
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2015-04-19 12:25:50 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2015-05-06 15:35:16 +0200
commit87c8236de9a8141ea6925cf4390a971f0a941ae8 (patch)
treecb4e363228f99a1e303402dabb41c0de2d29fc53 /proofs/proofview.mli
parent34e6a7149a69791cc736bdd9b2b909be9f21ec8f (diff)
Exposing the minimal amount of internal of the Logic monad in order to
allow reusability of the implementation throughout the Coq codebase. We effectively feature a generalized version of the logical monad where the input state, the output state and the inner exception can be arbitrarily chosen. This will allow for more efficient implementations of close variants of the monad.
Diffstat (limited to 'proofs/proofview.mli')
-rw-r--r--proofs/proofview.mli9
1 files changed, 9 insertions, 0 deletions
diff --git a/proofs/proofview.mli b/proofs/proofview.mli
index 5a9e7f39f..98e1477ff 100644
--- a/proofs/proofview.mli
+++ b/proofs/proofview.mli
@@ -405,6 +405,15 @@ module Unsafe : sig
val mark_as_goal : proofview -> Evar.t -> proofview
end
+(** This module gives access to the innards of the monad. Its use is
+ restricted to very specific cases. *)
+module UnsafeRepr :
+sig
+ type state = Proofview_monad.Logical.Unsafe.state
+ val repr : 'a tactic -> ('a, state, state, iexn) Logic_monad.BackState.t
+ val make : ('a, state, state, iexn) Logic_monad.BackState.t -> 'a tactic
+end
+
(** {7 Notations} *)
module Notations : sig