]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite_engine/grafiteSync.ml
More statuses converted to objects.
[helm.git] / helm / software / components / grafite_engine / grafiteSync.ml
index 74e2cf2e26ed75042b6c13125448839b35b23a0b..5cf9dc36050f3d16d4694280befa84b32ea094b5 100644 (file)
@@ -128,13 +128,13 @@ let add_obj ~pack_coercion_obj uri obj status =
  in
  let automation_cache,status =
    List.fold_left add_to_universe 
-     (status.GrafiteTypes.automation_cache,status) 
+     (status#automation_cache,status) 
      uris_to_index 
  in
-  {status with 
-     GrafiteTypes.objects = uri :: lemmas @ status.GrafiteTypes.objects;
-     GrafiteTypes.automation_cache = automation_cache},
-   lemmas
+  (status
+    #set_objects (uri :: lemmas @ status#objects))
+    #set_automation_cache automation_cache,
+  lemmas
 
 let add_coercion ~pack_coercion_obj ~add_composites status uri arity
  saturations baseuri
@@ -143,9 +143,9 @@ let add_coercion ~pack_coercion_obj ~add_composites status uri arity
    LibrarySync.add_coercion ~add_composites ~pack_coercion_obj 
     uri arity saturations baseuri in
  let status = 
- { status with GrafiteTypes.coercions = CoercDb.dump () ; 
-   objects = lemmas @ status.GrafiteTypes.objects;
-  }
+  (status
+    #set_coercions (CoercDb.dump ())) ; 
+    #set_objects (lemmas @ status#objects)
  in
  let estatus =
   NCicCoercion.index_old_db (CoercDb.dump ()) (GrafiteTypes.get_estatus status)
@@ -153,9 +153,9 @@ let add_coercion ~pack_coercion_obj ~add_composites status uri arity
  let status = GrafiteTypes.set_estatus estatus status in
   status, lemmas
 
-let prefer_coercion s u = 
+let prefer_coercion status u = 
   CoercDb.prefer u;
-  { s with GrafiteTypes.coercions = CoercDb.dump () }
+   status#set_coercions (CoercDb.dump ())
  
   (** @return l2 \ l1 *)
 let uri_list_diff l2 l1 =
@@ -167,22 +167,17 @@ let uri_list_diff l2 l1 =
 
 let time_travel ~present ~past =
   let objs_to_remove =
-   uri_list_diff present.GrafiteTypes.objects past.GrafiteTypes.objects in
+   uri_list_diff present#objects past#objects in
   List.iter LibrarySync.remove_obj objs_to_remove;
-  CoercDb.restore past.GrafiteTypes.coercions;
+  CoercDb.restore past#coercions;
   NCicLibrary.time_travel (GrafiteTypes.get_estatus past)
 ;;
 
-let initial_status lexicon_status baseuri = {
-    GrafiteTypes.moo_content_rev = [];
-    proof_status = GrafiteTypes.No_proof;
-    objects = [];
-    coercions = CoercDb.empty_coerc_db;
-    automation_cache = AutomationCache.empty ();
-    baseuri = baseuri;
-    ng_status = GrafiteTypes.CommandMode (new NEstatus.status)
-}
-
+let initial_status lexicon_status baseuri =
+ new GrafiteTypes.status [] GrafiteTypes.No_proof []
+      CoercDb.empty_coerc_db (AutomationCache.empty ())
+      baseuri (GrafiteTypes.CommandMode (new NEstatus.status))
+;;
 
 let init baseuri =
   CoercDb.restore CoercDb.empty_coerc_db;