From 71d73e9d7f3fd54d5a3264a93c74cd742e3d7de3 Mon Sep 17 00:00:00 2001 From: filliatr Date: Mon, 18 Oct 1999 14:56:56 +0000 Subject: mise en place module Refiner git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@107 85f007b7-540e-0410-9357-904b9bb8a0f7 --- lib/util.ml | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib/util.ml') 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 >];; -- cgit v1.2.3