diff options
| author | herbelin | 2002-02-28 18:58:10 +0000 |
|---|---|---|
| committer | herbelin | 2002-02-28 18:58:10 +0000 |
| commit | 38723886e9bf0a179069010ba128960aa2e61e1f (patch) | |
| tree | 34a14d705b36fd824d0b4af9c9eccfdf12a70ba9 | |
| parent | a5e7a9a99aaa371104ee53f55cc54f19aef21609 (diff) | |
ajout option_compare
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@2499 85f007b7-540e-0410-9357-904b9bb8a0f7
| -rw-r--r-- | lib/util.ml | 5 | ||||
| -rw-r--r-- | lib/util.mli | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml index 1bb69bf323..6632beaf29 100644 --- a/lib/util.ml +++ b/lib/util.ml @@ -501,6 +501,11 @@ let option_app f = function | None -> None | Some x -> Some (f x) +let option_compare f a b = match (a,b) with + | None, None -> true + | Some a', Some b' -> f a' b' + | _ -> failwith "option_compare" + let map_succeed f = let rec map_f = function | [] -> [] diff --git a/lib/util.mli b/lib/util.mli index 6bdc54b4ba..aa7042903d 100644 --- a/lib/util.mli +++ b/lib/util.mli @@ -156,6 +156,7 @@ val interval : int -> int -> int list val in_some : 'a -> 'a option val out_some : 'a option -> 'a val option_app : ('a -> 'b) -> 'a option -> 'b option +val option_compare : ('a -> 'b -> bool) -> 'a option -> 'b option -> bool (* In [map_succeed f l] an element [a] is removed if [f a] raises *) (* [Failure _] otherwise behaves as [List.map f l] *) |
