diff options
author | 2015-04-19 12:25:50 +0200 | |
---|---|---|
committer | 2015-05-06 15:35:16 +0200 | |
commit | 87c8236de9a8141ea6925cf4390a971f0a941ae8 (patch) | |
tree | cb4e363228f99a1e303402dabb41c0de2d29fc53 /proofs/proofview.mli | |
parent | 34e6a7149a69791cc736bdd9b2b909be9f21ec8f (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.mli | 9 |
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 |