X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fgrafite_engine%2FgrafiteSync.ml;h=47744f66e0332e962b2feace6b5f42cb0399a8df;hb=a7cea0ce6aac63e81420e65ac0295112252afceb;hp=ca29d39fcc1a159459bd96ab9bc42d0e52772a76;hpb=779859f7a9e317e378d258897c289f447adea7ad;p=helm.git diff --git a/helm/software/components/grafite_engine/grafiteSync.ml b/helm/software/components/grafite_engine/grafiteSync.ml index ca29d39fc..47744f66e 100644 --- a/helm/software/components/grafite_engine/grafiteSync.ml +++ b/helm/software/components/grafite_engine/grafiteSync.ml @@ -162,7 +162,11 @@ let uri_list_diff l2 l1 = let diff = S.diff s2 s1 in S.fold (fun uri uris -> uri :: uris) diff [] -let time_travel ~present ~past = +let initial_status lexicon_status baseuri = + (new GrafiteTypes.status baseuri)#set_lstatus lexicon_status#lstatus +;; + +let time_travel ~present ?(past=initial_status present present#baseuri) () = let objs_to_remove = uri_list_diff present#objects past#objects in List.iter LibrarySync.remove_obj objs_to_remove; @@ -170,14 +174,10 @@ let time_travel ~present ~past = NCicLibrary.time_travel past ;; -let initial_status lexicon_status baseuri = - (new GrafiteTypes.status baseuri)#set_lstatus lexicon_status#lstatus -;; - -let init baseuri = +let init lexicon_status = CoercDb.restore CoercDb.empty_coerc_db; LibraryObjects.reset_defaults (); - initial_status baseuri + initial_status lexicon_status ;; let pop () = LibrarySync.pop ();