diff options
| author | herbelin | 2003-08-10 18:50:40 +0000 |
|---|---|---|
| committer | herbelin | 2003-08-10 18:50:40 +0000 |
| commit | 9edb2d97d405ef15ca19af9021e664ef72bab5a6 (patch) | |
| tree | 4acf458f9eca9f2c34f5131206740dcead85ddb8 /lib | |
| parent | 779502eaf0f875821bcf2d7cbf237833dd06e07d (diff) | |
Ajout option_fold_right
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@4251 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/util.ml | 4 | ||||
| -rw-r--r-- | lib/util.mli | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml index 46ac2e5ceb..d6e160efd7 100644 --- a/lib/util.ml +++ b/lib/util.ml @@ -603,6 +603,10 @@ let option_fold_left2 f e a b = match (a,b) with | Some x, Some y -> f e x y | _ -> e +let option_fold_right f a e = match a with + | Some x -> f x e + | _ -> e + let option_compare f a b = match (a,b) with | None, None -> true | Some a', Some b' -> f a' b' diff --git a/lib/util.mli b/lib/util.mli index 82e547d3e8..85c828abf5 100644 --- a/lib/util.mli +++ b/lib/util.mli @@ -178,6 +178,7 @@ val in_some : 'a -> 'a option val out_some : 'a option -> 'a val option_app : ('a -> 'b) -> 'a option -> 'b option val option_cons : 'a option -> 'a list -> 'a list +val option_fold_right : ('a -> 'b -> 'b) -> 'a option -> 'b -> 'b val option_fold_left2 : ('a -> 'b -> 'c -> 'a) -> 'a -> 'b option -> 'c option -> 'a val option_iter : ('a -> unit) -> 'a option -> unit |
