From 1de15982dceaf28740f49f1d6cba61a5473656b0 Mon Sep 17 00:00:00 2001 From: Pierre-Marie Pédrot Date: Thu, 12 Dec 2019 18:36:03 +0100 Subject: Export the dynamic type API of libobjects. --- library/libobject.mli | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'library/libobject.mli') diff --git a/library/libobject.mli b/library/libobject.mli index 146ccc293f..c83ad4086a 100644 --- a/library/libobject.mli +++ b/library/libobject.mli @@ -101,7 +101,9 @@ val ident_subst_function : substitution * 'a -> 'a will hand back two functions, the "injection" and "projection" functions for dynamically typed library-objects. *) -type obj +module Dyn : Dyn.S + +type obj = Dyn.t type algebraic_objects = | Objs of objects @@ -120,7 +122,7 @@ and objects = (Names.Id.t * t) list and substitutive_objects = Names.MBId.t list * algebraic_objects val declare_object_full : - 'a object_declaration -> ('a -> obj) * (obj -> 'a) + 'a object_declaration -> 'a Dyn.tag val declare_object : 'a object_declaration -> ('a -> obj) -- cgit v1.2.3 From c2341feb58a233598658eeb68a08395b12715b2a Mon Sep 17 00:00:00 2001 From: Pierre-Marie Pédrot Date: Thu, 12 Dec 2019 18:44:06 +0100 Subject: Remove the hacks relying on hardwired libobject tags. The patch is done in a minimal way. The hacks are turned into a new kind of safer hacks, but hacks nonetheless. They should go away at some point, but the current patch is focussed on the removal of Libobject cruft, not making the dirty code of its upper-layer callers any cleaner. --- library/libobject.mli | 2 -- 1 file changed, 2 deletions(-) (limited to 'library/libobject.mli') diff --git a/library/libobject.mli b/library/libobject.mli index c83ad4086a..c25345994a 100644 --- a/library/libobject.mli +++ b/library/libobject.mli @@ -127,8 +127,6 @@ val declare_object_full : val declare_object : 'a object_declaration -> ('a -> obj) -val object_tag : obj -> string - val cache_object : object_name * obj -> unit val load_object : int -> object_name * obj -> unit val open_object : int -> object_name * obj -> unit -- cgit v1.2.3