X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitaMisc.mli;h=c2cba5903192744d61ba9ec7264d1a297ef84e5b;hb=624907fead9047f23557374788c5767b6289dd7c;hp=ae1fc382b5de8a84747f209866ae0e9979fca5bb;hpb=1d431843f49b3658593c8cc918b53a43479a6486;p=helm.git diff --git a/helm/matita/matitaMisc.mli b/helm/matita/matitaMisc.mli index ae1fc382b..c2cba5903 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 @@ -34,3 +34,68 @@ val is_proof_script: string -> bool (** @return true if file is a (binary) proof object *) val is_proof_object: string -> bool + (** given a phrase, if it doesn't end with BuildTimeConf.phrase_sep, append + * it *) +val append_phrase_sep: string -> string + +val strip_trailing_blanks: string -> string +val strip_trailing_slash: string -> string + +val list_uniq: 'a list -> 'a list (* uniq unix filter on lists *) + + (** @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: unit -> Gdome.document +val empty_boxml: unit -> Gdome.document + +exception History_failure + +type 'a memento + +class type ['a] history = + object ('b) + method add : 'a -> unit + method next : 'a (** @raise History_failure *) + 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 + * @param size maximum history size *) +class shell_history : int -> [string] history + + (** browser like history: new items added at the current point of the history + * @param size maximum history size + * @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_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_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 +