]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/urimanager/uriManager.mli
ocaml 3.09 transition
[helm.git] / helm / ocaml / urimanager / uriManager.mli
index 703b0b4f1629e12639d64767a2c825b274fb49c8..8250cc83963dc058a0672c3d35d208617a0d920e 100644 (file)
@@ -28,24 +28,28 @@ exception IllFormedUri of string;;
 type uri
 
 val eq : uri -> uri -> bool
+val compare : uri -> uri -> int
 
 val uri_of_string : string -> uri
 
 val string_of_uri : uri -> string  (* complete uri *)
 val name_of_uri   : uri -> string  (* name only (without extension)*)
-val buri_of_uri   : uri -> string  (* base uri only *)
-val depth_of_uri  : uri -> int     (* length of the path *)
+val buri_of_uri   : uri -> string  (* base uri only, without trailing '/' *)
 
 (* given an uri, returns the uri of the corresponding cic file, *)
 (* i.e. removes the [.types][.ann] suffix                       *)
 val cicuri_of_uri : uri -> uri
 
+val strip_xpointer: uri -> uri      (* remove trailing #xpointer..., if any *)
+
 (* given an uri, returns the uri of the corresponding annotation file, *)
 (* i.e. adds the .ann suffix if not already present                    *)
 val annuri_of_uri : uri -> uri
 
-(* given an uri, tells if it refers to an annotation *)
 val uri_is_annuri : uri -> bool
+val uri_is_var : uri -> bool
+val uri_is_con : uri -> bool
+val uri_is_ind : uri -> bool
 
 (* given an uri of a constant, it gives back the uri of its body             *)
 (* it gives back None if the uri refers to a Variable or MutualInductiveType *)
@@ -53,15 +57,15 @@ val bodyuri_of_uri : uri -> uri option
 
 (* given an uri, it gives back the uri of its inner types             *)
 val innertypesuri_of_uri : uri -> uri
+(* given an uri, it gives back the uri of its univgraph             *)
+val univgraphuri_of_uri : uri -> uri
+
+(* builder for MutInd and MutConstruct URIs
+ * [uri] -> [typeno] -> [consno option]
+ *)
+val uri_of_uriref :  uri -> int -> int option -> uri
 
-(*
-val mutind_uri:       uri -> int -> uri
-val mutconstruct_uri: uri -> int -> int -> uri
-val mutind:           uri -> uri * int
-val mutconstruct:     uri -> uri * int * int
-*)
+module UriSet: Set.S with type elt = uri
 
-  (* builder for MutInd and MutConstruct URIs *)
-type uriref = uri * (int list)
-val string_of_uriref : uriref -> string
+module UriHashtbl : Hashtbl.S with type key = uri