(* $Id$ *)
exception LibraryOutOfSync of string Lazy.t
-
-type automation_cache = NDiscriminationTree.DiscriminationTree.t
-type unit_eq_cache = NCicParamod.state
-
-class type g_eq_status =
- object
- method eq_cache : unit_eq_cache
- end
-
-class eq_status :
- object('self)
- inherit g_eq_status
- method set_eq_cache: unit_eq_cache -> 'self
- method set_eq_status: #g_eq_status -> 'self
- end
-
-class type g_auto_status =
- object
- method auto_cache : automation_cache
- end
-
-class auto_status :
- object('self)
- inherit g_auto_status
- method set_auto_cache: automation_cache -> 'self
- method set_auto_status: #g_auto_status -> 'self
- end
+exception IncludedFileNotCompiled of string * string
type timestamp
-class type g_status =
- object
- method timestamp: timestamp
- inherit NRstatus.g_status
- end
-
class status :
object ('self)
- inherit g_status
+ method timestamp: timestamp
method set_timestamp: timestamp -> 'self
- method set_library_status: #g_status -> 'self
end
(* it also checks it and add it to the environment *)
type obj
-class type g_dumpable_status =
- object
- inherit g_status
- inherit g_auto_status
- inherit g_eq_status
- method dump: obj list
+module type SerializerType =
+ sig
+ type dumpable_status
+
+ type 'a register_type =
+ 'a ->
+ refresh_uri_in_universe:(NCic.universe -> NCic.universe) ->
+ refresh_uri_in_term:(NCic.term -> NCic.term) ->
+ refresh_uri_in_reference:(NReference.reference -> NReference.reference) ->
+ alias_only:bool ->
+ dumpable_status -> dumpable_status
+
+ val register: < run: 'a. string -> 'a register_type -> ('a -> obj) >
+ val serialize: baseuri:NUri.uri -> dependencies:string list -> obj list ->
+ unit
+ (* the obj is the "include" command to be added to the dump list *)
+ val require: baseuri:
+ NUri.uri -> alias_only:bool -> dumpable_status -> dumpable_status * obj
+ val dependencies_of: baseuri:NUri.uri -> string list
end
-
+
+module Serializer(D: sig type dumpable_status end) :
+ SerializerType with type dumpable_status = D.dumpable_status
+
class dumpable_status :
object ('self)
- inherit status
- inherit auto_status
- inherit eq_status
- inherit g_dumpable_status
+ method dump: obj list
method set_dump: obj list -> 'self
- method set_dumpable_status: #g_dumpable_status -> 'self
end
-type 'a register_type =
- < run: 'status.
- 'a -> refresh_uri_in_universe:(NCic.universe ->
- NCic.universe) -> refresh_uri_in_term:(NCic.term -> NCic.term) ->
- (#dumpable_status as 'status) -> 'status >
+val refresh_uri: NUri.uri -> NUri.uri
-module Serializer:
- sig
- val register: < run: 'a. string -> 'a register_type -> ('a -> obj) >
- val serialize: baseuri:NUri.uri -> obj list -> unit
- val require: baseuri:NUri.uri -> (#dumpable_status as 'status) -> 'status
- end
+val ng_path_of_baseuri: ?no_suffix:bool -> NUri.uri -> string
-(* CSC: only required during old-to-NG phase, to be deleted *)
-val refresh_uri: NUri.uri -> NUri.uri
+(* IMPERATIVE STUFF, TO BE PUT IN THE STATUS *)
+val get_already_included: unit -> NUri.uri list
(* EOF *)