X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fextlib%2FhExtlib.mli;h=99727331a601c6fc90f7bba439bedcf379ae44d9;hb=99727f61d0a718e34d4282f9b9b45fce4336af84;hp=8de41f6837df4a067bab010438a8731a81d35b88;hpb=ee2b6c8f1493990ee86faba0739389d9f270a69b;p=helm.git diff --git a/helm/software/components/extlib/hExtlib.mli b/helm/software/components/extlib/hExtlib.mli index 8de41f683..99727331a 100644 --- a/helm/software/components/extlib/hExtlib.mli +++ b/helm/software/components/extlib/hExtlib.mli @@ -32,6 +32,7 @@ val unopt: 'a option -> 'a (** @raise Failure *) (** {2 Filesystem} *) val is_dir: string -> bool (** @return true if file is a directory *) +val writable_dir: string -> bool (** @return true if the directory is writable *) val is_regular: string -> bool (** @return true if file is a regular file *) val mkdir: string -> unit (** create dir and parents. @raise Failure *) val tilde_expand: string -> string (** bash-like (head) tilde expansion *) @@ -75,9 +76,12 @@ val trim_blanks: string -> string (** strip heading and trailing blanks *) val list_uniq: ?eq:('a->'a->bool) -> 'a list -> 'a list (** uniq unix filter on lists *) val filter_map: ('a -> 'b option) -> 'a list -> 'b list (** filter + map *) +val list_rev_map_filter: ('a -> 'b option) -> 'a list -> 'b list +val list_rev_map_filter_fold: ('c -> 'a -> 'c * 'b option) -> 'c -> 'a list -> 'c * 'b list val list_concat: ?sep:'a list -> 'a list list -> 'a list (**String.concat-like*) val list_findopt: ('a -> 'b option) -> 'a list -> 'b option val flatten_map: ('a -> 'b list) -> 'a list -> 'b list +val list_last: 'a list -> 'a (** split_nth n l * @returns two list, the first contains at least n elements, the second the