X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitaMisc.mli;h=21045c0a3b1134e5429c50ab2296fcedf979dd96;hb=5a702cea95883f7095c16b450e065ccb1714fc5a;hp=afaa631a08f01646e773aa505301c710db2718d3;hpb=ef9ec8cb57d15426a96fe40d056eb07804753bb9;p=helm.git diff --git a/helm/matita/matitaMisc.mli b/helm/matita/matitaMisc.mli index afaa631a0..21045c0a3 100644 --- a/helm/matita/matitaMisc.mli +++ b/helm/matita/matitaMisc.mli @@ -1,4 +1,4 @@ -(* Copyright (C) 2004, HELM Team. +(* Copyright (C) 2004-2005, HELM Team. * * This file is part of HELM, an Hypertextual, Electronic * Library of Mathematics, developed at the Computer Science @@ -23,10 +23,24 @@ * http://helm.cs.unibo.it/ *) +val baseuri_of_file : string -> string + +val baseuri_of_baseuri_decl: + ('a, 'b, 'c, 'd, 'e) GrafiteAst.statement -> string option + + (** check whether no objects are defined below a given baseuri *) +val is_empty: string -> bool + +(** removes a file if it exists *) +val safe_remove: string -> unit + val is_dir: string -> bool (** @return true if file is a directory *) val is_regular: string -> bool (** @return true if file is a regular file *) val input_file: string -> string (** read all the contents of file to string *) +val output_file: string -> string -> unit (** write string to file *) + +val absolute_path: string -> string (** @return true if file is a (textual) proof script *) val is_proof_script: string -> bool @@ -38,11 +52,28 @@ val is_proof_object: string -> bool * it *) val append_phrase_sep: string -> string -val strip_trailing_blanks: string -> string +val trim_blanks: string -> string +val strip_trailing_slash: string -> string +val normalize_dir: string -> string (** add trailing "/" if missing *) +val strip_suffix: suffix:string -> string -> string + + (* split a string at character, char defaults to ' ' *) +val split: ?char:char -> string -> string list + +val list_uniq: 'a list -> 'a list (* uniq unix filter on lists *) + + (** @return tl tail of a list starting at a given element + * @param eq equality to be used, defaults to physical equality (==) + * @raise Not_found *) +val list_tl_at: ?equality:('a -> 'a -> bool) -> 'a -> 'a list -> 'a list + + (** @raise Failure *) +val unopt: 'a option -> 'a (** Gdome.element of a MathML document whose rendering should be blank. Used * by cicBrowser to render "about:blank" document *) -val empty_mathml: Gdome.element +val empty_mathml: unit -> Gdome.document +val empty_boxml: unit -> Gdome.document exception History_failure @@ -55,6 +86,8 @@ class type ['a] history = method previous : 'a (** @raise History_failure *) method load: 'a memento -> unit method save: 'a memento + method is_begin: bool + method is_end: bool end (** shell like history: new items added at the end of the history @@ -66,3 +99,28 @@ class shell_history : int -> [string] history * @param first element in history (this history is never empty) *) class ['a] browser_history: ?memento:'a memento -> int -> 'a -> ['a] history + (** create a singleton from a given function. Given function is invoked the + * first time it gets called. Next invocation will return first value *) +val singleton: (unit -> 'a) -> (unit -> 'a) + + (** create a directory, building also parents if needed + * @raise Failure when unable to create some directory *) +val mkdir: string -> unit + +val qualify: MatitaTypes.status -> string -> string + +val get_proof_status: MatitaTypes.status -> ProofEngineTypes.status +val get_proof_metasenv: MatitaTypes.status -> Cic.metasenv +val get_proof_context: MatitaTypes.status -> Cic.context +val get_proof_conclusion: MatitaTypes.status -> Cic.term + + (** given the base name of an image, returns its full path *) +val image_path: string -> string +val obj_file_of_baseuri: string -> string +val obj_file_of_script: string -> string + + (** invoke a given function and return its value; in addition il will print + * the given string before invoking it and "/" ^ the given string afterwards. + * This permit tracing of functions which does not return a value *) +val debug_wrap: string -> (unit -> 'a) -> 'a +