]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/components/ng_library/nCicLibrary.mli
Big change:
[helm.git] / matita / components / ng_library / nCicLibrary.mli
index 03b84439711b872d317aa295c04fd6880f7570f6..aff1473c18bdea540949853c36d2d70cf6670b83 100644 (file)
 (* $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 *)
@@ -73,38 +40,41 @@ val init: unit -> unit
 
 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 *)