X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitaMisc.mli;h=c4adbf6e1e8f94fa4c372ad220ae591ec693ec2f;hb=f981a524748846acc29b76b6e616af110b4ee13d;hp=36318dc1fa0d2dbafa956c15e9336a92a902da3f;hpb=7deafec4fd4b2eebf4d4061f21ee5c47bd15b062;p=helm.git diff --git a/helm/matita/matitaMisc.mli b/helm/matita/matitaMisc.mli index 36318dc1f..c4adbf6e1 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,23 @@ * http://helm.cs.unibo.it/ *) +val baseuri_of_file : string -> string + +val baseuri_of_baseuri_decl : ('a, 'b, 'c) 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 @@ -39,10 +52,25 @@ val is_proof_object: string -> bool val append_phrase_sep: string -> string val strip_trailing_blanks: string -> string +val strip_trailing_slash: 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 +83,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,6 +96,29 @@ 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 - (** {2 db handling} *) -val dbd_instance: unit -> Mysql.dbd + (** 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 +val get_proof_aliases: MatitaTypes.status -> DisambiguateTypes.environment + + (** 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