X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fcomponents%2Fng_library%2FnCicLibrary.mli;h=165b70ce19156e6d55c0f62030be3b7e0f2ea9bf;hb=d51f9674886d1e609a6ea792b65871dcde4f6503;hp=aff1473c18bdea540949853c36d2d70cf6670b83;hpb=fa3139698294b99889afd375298f9b071cdfbd67;p=helm.git diff --git a/matita/components/ng_library/nCicLibrary.mli b/matita/components/ng_library/nCicLibrary.mli index aff1473c1..165b70ce1 100644 --- a/matita/components/ng_library/nCicLibrary.mli +++ b/matita/components/ng_library/nCicLibrary.mli @@ -16,29 +16,48 @@ exception IncludedFileNotCompiled of string * string type timestamp -class status : +class virtual status : object ('self) + inherit NCic.status method timestamp: timestamp method set_timestamp: timestamp -> 'self + (*CSC: bug here, we are not copying the NCicExtraction and OCamlExtraction part of the status *) end (* it also checks it and add it to the environment *) val add_obj: #status as 'status -> NCic.obj -> 'status val add_constraint: - #status as 'status -> NCic.universe -> NCic.universe -> 'status + #status as 'status -> acyclic:bool -> + NCic.universe -> NCic.universe -> '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 get_obj: #NCic.status -> NUri.uri -> NCic.obj (* changes the current timestamp *) +*) val time_travel: #status -> unit -val decompile: baseuri:NUri.uri -> unit +val replace: #status -> unit val init: unit -> unit type obj +type dump + +class type g_dumpable_status = + object + method dump: dump + end + +class dumpable_status : + object ('self) + inherit g_dumpable_status + method set_dump: dump -> 'self + method set_dumpable_status: #g_dumpable_status -> 'self + end + +val get_transitively_included: #dumpable_status -> NUri.uri list +val dump_obj: #dumpable_status as 'status -> obj -> 'status module type SerializerType = sig @@ -47,34 +66,23 @@ module type SerializerType = type 'a register_type = 'a -> refresh_uri_in_universe:(NCic.universe -> NCic.universe) -> - refresh_uri_in_term:(NCic.term -> NCic.term) -> + refresh_uri_in_term:(NCic.status -> 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 serialize: baseuri:NUri.uri -> dumpable_status -> unit val require: baseuri: - NUri.uri -> alias_only:bool -> dumpable_status -> dumpable_status * obj + NUri.uri -> fname:string -> alias_only:bool -> + dumpable_status -> dumpable_status 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) - method dump: obj list - method set_dump: obj list -> 'self - end +module Serializer(D: sig type dumpable_s = private #dumpable_status end) : + SerializerType with type dumpable_status = D.dumpable_s val refresh_uri: NUri.uri -> NUri.uri val ng_path_of_baseuri: ?no_suffix:bool -> NUri.uri -> string - -(* IMPERATIVE STUFF, TO BE PUT IN THE STATUS *) -val get_already_included: unit -> NUri.uri list - (* EOF *)