diff options
| author | filliatr | 1999-10-18 14:56:56 +0000 |
|---|---|---|
| committer | filliatr | 1999-10-18 14:56:56 +0000 |
| commit | 71d73e9d7f3fd54d5a3264a93c74cd742e3d7de3 (patch) | |
| tree | 4a6064526cff354ed77aa875bb8b35bd40a19534 /lib | |
| parent | 154f0fc69c79383cc75795554eb7e0256c8299d8 (diff) | |
mise en place module Refiner
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@107 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/util.ml | 9 | ||||
| -rw-r--r-- | lib/util.mli | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml index be6f67dc16..440acd6ba2 100644 --- a/lib/util.ml +++ b/lib/util.ml @@ -125,6 +125,8 @@ let list_for_all_i p = let list_except x l = List.filter (fun y -> not (x = y)) l +let list_for_all2eq f l1 l2 = try List.for_all2 f l1 l2 with Failure _ -> false + (* Arrays *) let array_exists f v = @@ -262,6 +264,13 @@ let option_app f = function | None -> None | Some x -> Some (f x) +let map_succeed f = + let rec map_f = function + | [] -> [] + | h::t -> try (let x = f h in x :: map_f t) with Failure _ -> map_f t + in + map_f + (* Pretty-printing *) let pr_spc () = [< 'sPC >];; diff --git a/lib/util.mli b/lib/util.mli index 484b2d61e7..ef56afeb27 100644 --- a/lib/util.mli +++ b/lib/util.mli @@ -40,6 +40,7 @@ val list_index : 'a -> 'a list -> int val list_fold_left_i : (int -> 'a -> 'b -> 'a) -> int -> 'a -> 'b list -> 'a val list_for_all_i : (int -> 'a -> bool) -> int -> 'a list -> bool val list_except : 'a -> 'a list -> 'a list +val list_for_all2eq : ('a -> 'b -> bool) -> 'a list -> 'b list -> bool (*s Arrays. *) @@ -78,6 +79,8 @@ module Intmap : Map.S with type key = int val out_some : 'a option -> 'a val option_app : ('a -> 'b) -> 'a option -> 'b option +val map_succeed : ('a -> 'b) -> 'a list -> 'b list + (*s Pretty-printing. *) val pr_spc : unit -> std_ppcmds |
