From 81494db46137b2934167ae12d0b86e27e28023e9 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Mon, 17 Jun 2019 04:34:06 +0200 Subject: [declare] Fine tuning of Hook type. We turn the hook parameter into a record, making more explicit the capture of data in hooks as they only take one parameter now This is a fine-tuning but provides some small advantages, and allows us to tweak the hook type with less breakage. --- vernac/declareDef.mli | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'vernac/declareDef.mli') diff --git a/vernac/declareDef.mli b/vernac/declareDef.mli index 3934a29413..cfff89bc34 100644 --- a/vernac/declareDef.mli +++ b/vernac/declareDef.mli @@ -22,23 +22,22 @@ module Hook : sig as a Coercion, perform some cleanup, update the search database, etc... *) module S : sig - (** [S.t] passes to the client: *) - type t - = UState.t + type t = + { uctx : UState.t (** [ustate]: universe constraints obtained when the term was closed *) - -> (Id.t * Constr.t) list + ; obls : (Id.t * Constr.t) list (** [(n1,t1),...(nm,tm)]: association list between obligation name and the corresponding defined term (might be a constant, but also an arbitrary term in the Expand case of obligations) *) - -> locality - (** [locality]: Locality of the original declaration *) - -> GlobRef.t - (** [ref]: identifier of the original declaration *) - -> unit + ; scope : locality + (** [scope]: Locality of the original declaration *) + ; dref : GlobRef.t + (** [dref]: identifier of the original declaration *) + } end - val make : S.t -> t - val call : ?hook:t -> ?fix_exn:Future.fix_exn -> S.t + val make : (S.t -> unit) -> t + val call : ?hook:t -> ?fix_exn:Future.fix_exn -> S.t -> unit end val declare_definition -- cgit v1.2.3