aboutsummaryrefslogtreecommitdiffhomepage
path: root/engine
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2016-04-20 15:23:41 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2016-05-04 13:47:12 +0200
commit4740e82e4af6d38e9cc55dfe1a05db87f73bf1e6 (patch)
treeaa15f15f7729a5879857e59717c9c298669168ca /engine
parent2aae561fe772a08b03ea8a96ee28372408bf233a (diff)
Removing external uses of Val.inject and making Geninterp.interp return Val.t
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 9e866f0cf..a3e494f5c 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 3c87b2512..c92181027 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