From 4740e82e4af6d38e9cc55dfe1a05db87f73bf1e6 Mon Sep 17 00:00:00 2001 From: Pierre-Marie Pédrot Date: Wed, 20 Apr 2016 15:23:41 +0200 Subject: Removing external uses of Val.inject and making Geninterp.interp return Val.t --- engine/geninterp.ml | 6 +++++- engine/geninterp.mli | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'engine') 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 -- cgit v1.2.3