aboutsummaryrefslogtreecommitdiff
path: root/engine/proofview_monad.ml
diff options
context:
space:
mode:
authorMaxime Dénès2019-02-13 08:20:28 +0100
committerMaxime Dénès2019-02-13 08:20:28 +0100
commitf53eb3339322d3a9851a42ebab4347e556b7770f (patch)
tree6044781b17ad38a2ae5dace3e6a14275ea03ec3c /engine/proofview_monad.ml
parentddc17851aa2f73eda9ddc2f8f0f2749f58b51520 (diff)
parentfd3bde66bc32ba70435aaad3f83d0b58c846af55 (diff)
Merge PR #9173: [tactics] Remove dependency of abstract on global proof state.
Ack-by: SkySkimmer Ack-by: ejgallego Ack-by: mattam82 Ack-by: maximedenes Reviewed-by: ppedrot
Diffstat (limited to 'engine/proofview_monad.ml')
-rw-r--r--engine/proofview_monad.ml9
1 files changed, 6 insertions, 3 deletions
diff --git a/engine/proofview_monad.ml b/engine/proofview_monad.ml
index 69341d97df..80eb9d0124 100644
--- a/engine/proofview_monad.ml
+++ b/engine/proofview_monad.ml
@@ -177,7 +177,7 @@ module P = struct
type s = proofview * Environ.env
(** Recording info trace (true) or not. *)
- type e = bool
+ type e = { trace: bool; name : Names.Id.t; poly : bool }
(** Status (safe/unsafe) * shelved goals * given up *)
type w = bool * goal list
@@ -254,13 +254,16 @@ end
(** Lens and utilies pertaining to the info trace *)
module InfoL = struct
- let recording = Logical.current
+ let recording = Logical.(map (fun {P.trace} -> trace) current)
let if_recording t =
let open Logical in
recording >>= fun r ->
if r then t else return ()
- let record_trace t = Logical.local true t
+ let record_trace t =
+ Logical.(
+ current >>= fun s ->
+ local {s with P.trace = true} t)
let raw_update = Logical.update
let update f = if_recording (raw_update f)