(* ||M|| This file is part of HELM, an Hypertextual, Electronic ||A|| Library of Mathematics, developed at the Computer Science ||T|| Department, University of Bologna, Italy. ||I|| ||T|| HELM is free software; you can redistribute it and/or ||A|| modify it under the terms of the GNU General Public License \ / version 2 or (at your option) any later version. \ / This software is distributed as is, NO WARRANTY. V_______________________________________________________________ *) (* $Id$ *) exception LibraryOutOfSync of string Lazy.t type timestamp class status : object ('self) method timestamp: timestamp method set_timestamp: timestamp -> 'self method set_library_status: -> 'self end (* it also checks it and add it to the environment *) val add_obj: #status as 'status -> NCic.obj -> 'status val aliases_of: NUri.uri -> NReference.reference list val resolve: string -> NReference.reference list (* warning: get_obj may raise (NCicEnvironment.ObjectNotFoud l) *) val get_obj: NUri.uri -> NCic.obj (* changes the current timestamp *) val clear_cache : unit -> unit val time_travel: #status -> unit val decompile: baseuri:NUri.uri -> unit module type Serializer = sig type status type obj val register: string -> ('a -> refresh_uri_in_term:(NCic.term -> NCic.term) -> status -> status) -> ('a -> obj) val serialize: baseuri:NUri.uri -> obj list -> unit val require: baseuri:NUri.uri -> status -> status end module Serializer(S: sig type status end): Serializer with type status= S.status val init: unit -> unit (* EOF *)