From 8d478b8bacbb08d9edb6d8d1fbdea241f013b1cb Mon Sep 17 00:00:00 2001 From: herbelin Date: Wed, 20 Nov 2002 20:33:24 +0000 Subject: Ajout option_fold_left2 git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3258 85f007b7-540e-0410-9357-904b9bb8a0f7 --- lib/util.ml | 4 ++++ lib/util.mli | 2 ++ 2 files changed, 6 insertions(+) (limited to 'lib') diff --git a/lib/util.ml b/lib/util.ml index a8dd17e8f2..885278da7a 100644 --- a/lib/util.ml +++ b/lib/util.ml @@ -559,6 +559,10 @@ let option_app f = function | None -> None | Some x -> Some (f x) +let option_fold_left2 f e a b = match (a,b) with + | Some x, Some y -> f e x y + | _ -> 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 d7194e389d..85ae3f2eb0 100644 --- a/lib/util.mli +++ b/lib/util.mli @@ -174,6 +174,8 @@ 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_fold_left2 : + ('a -> 'b -> 'c -> 'a) -> 'a -> 'b option -> 'c option -> 'a val option_iter : ('a -> unit) -> 'a option -> unit val option_compare : ('a -> 'b -> bool) -> 'a option -> 'b option -> bool val option_smartmap : ('a -> 'a) -> 'a option -> 'a option -- cgit v1.2.3