aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorherbelin2006-10-09 15:59:23 +0000
committerherbelin2006-10-09 15:59:23 +0000
commitc03b138c8c5e85ca1636465582c3242f50415a73 (patch)
tree3d3229d67739564d283493280efce872f6cd8b51 /lib
parentc1624954bb4f88b611528b16013dcb659c02ed47 (diff)
Ajout combinateurs option_fold_left et name_fold_map
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9225 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'lib')
-rw-r--r--lib/util.ml4
-rw-r--r--lib/util.mli1
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml
index dc25caefee..38eb88ebfa 100644
--- a/lib/util.ml
+++ b/lib/util.ml
@@ -737,6 +737,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_left f e a = match a with
+ | Some x -> f e x
+ | _ -> e
+
let option_fold_right f a e = match a with
| Some x -> f x e
| _ -> e
diff --git a/lib/util.mli b/lib/util.mli
index 9951aa1c57..f38f36740c 100644
--- a/lib/util.mli
+++ b/lib/util.mli
@@ -209,6 +209,7 @@ val out_some : 'a option -> 'a
val option_map : ('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_left : ('a -> 'b -> 'a) -> 'a -> 'b option -> 'a
val option_fold_left2 : ('a -> 'b -> 'c -> 'a) -> 'a -> 'b option ->
'c option -> 'a
val option_iter : ('a -> unit) -> 'a option -> unit