aboutsummaryrefslogtreecommitdiff
path: root/checker
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2019-07-03 16:59:05 +0200
committerEmilio Jesus Gallego Arias2019-07-03 16:59:05 +0200
commitd1965ba584589a528cbb6fe98bbe489137691e02 (patch)
treec129473d828b0a6f55b4732582f89af3e42de4b2 /checker
parent6f828ca5b9a28df977e0e6c93c76fa73ae0f48dc (diff)
parent19ea68ecafcee5199dde1b044fd4be9edc211673 (diff)
Merge PR #10442: Reify libobject containers
Reviewed-by: ejgallego Reviewed-by: ppedrot
Diffstat (limited to 'checker')
-rw-r--r--checker/values.ml22
1 files changed, 20 insertions, 2 deletions
diff --git a/checker/values.ml b/checker/values.ml
index cde2db2721..8dc09aed87 100644
--- a/checker/values.ml
+++ b/checker/values.ml
@@ -345,8 +345,26 @@ let v_compiled_lib =
(** Library objects *)
let v_obj = Dyn
-let v_libobj = Tuple ("libobj", [|v_id;v_obj|])
-let v_libobjs = List v_libobj
+
+let rec v_aobjs = Sum("algebraic_objects", 0,
+ [| [|v_libobjs|];
+ [|v_mp;v_subst|]
+ |])
+and v_substobjs =
+ Tuple("*", [|List v_uid;v_aobjs|])
+and v_libobjt = Sum("Libobject.t",0,
+ [| [| v_substobjs |];
+ [| v_substobjs |];
+ [| v_aobjs |];
+ [| v_libobjs |];
+ [| v_bool; v_mp |];
+ [| v_obj |]
+ |])
+
+and v_libobj = Tuple ("libobj", [|v_id;v_libobjt|])
+
+and v_libobjs = List v_libobj
+
let v_libraryobjs = Tuple ("library_objects",[|v_libobjs;v_libobjs|])
(** STM objects *)