(************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* 'glb -> 'top Ftactic.t module InterpObj = struct type ('raw, 'glb, 'top) obj = ('glb, 'top) interp_fun let name = "interp" let default _ = None end module Interp = Register(InterpObj) let interp = Interp.obj let register_interp0 = Interp.register0 let generic_interp ist v = let open Ftactic.Notations in let unpacker wit v = interp wit ist (glb v) >>= fun ans -> Ftactic.return (Val.Dyn (val_tag (topwit wit), ans)) in unpack { unpacker; } v