-type timestamp =
- (NUri.uri * NCic.obj) list *
- (NUri.uri * string * NReference.reference) list *
- NCic.obj NUri.UriMap.t;;
-
-let time0 = [],[],NUri.UriMap.empty;;
-let storage = ref [];;
-let local_aliases = ref [];;
-let global_aliases = ref [];;
-let cache = ref NUri.UriMap.empty;;
-
-class status =
- object
- val timestamp = (time0 : timestamp)
- method timestamp = timestamp
- method set_timestamp v = {< timestamp = v >}
- method set_library_status
- : 'status. < timestamp : timestamp; .. > as 'status -> 'self
- = fun o -> {< timestamp = o#timestamp >}
- end
-
-let time_travel status =
- let sto,ali,cac = status#timestamp in
- storage := sto; local_aliases := ali; cache := cac
-;;