aboutsummaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
Diffstat (limited to 'engine')
-rw-r--r--engine/geninterp.ml6
-rw-r--r--engine/geninterp.mli2
2 files changed, 6 insertions, 2 deletions
diff --git a/engine/geninterp.ml b/engine/geninterp.ml
index 9e866f0cf8..a3e494f5c0 100644
--- a/engine/geninterp.ml
+++ b/engine/geninterp.ml
@@ -93,5 +93,9 @@ end
module Interp = Register(InterpObj)
-let interp = Interp.obj
+let interp wit ist v =
+ let f = Interp.obj wit in
+ let tag = val_tag (Topwit wit) in
+ Ftactic.bind (f ist v) (fun v -> Ftactic.return (Val.inject tag v))
+
let register_interp0 = Interp.register0
diff --git a/engine/geninterp.mli b/engine/geninterp.mli
index 3c87b25121..c92181027e 100644
--- a/engine/geninterp.mli
+++ b/engine/geninterp.mli
@@ -61,7 +61,7 @@ type interp_sign = {
type ('glb, 'top) interp_fun = interp_sign -> 'glb -> 'top Ftactic.t
-val interp : ('raw, 'glb, 'top) genarg_type -> ('glb, 'top) interp_fun
+val interp : ('raw, 'glb, 'top) genarg_type -> ('glb, Val.t) interp_fun
val register_interp0 :
('raw, 'glb, 'top) genarg_type -> ('glb, 'top) interp_fun -> unit