diff options
| author | herbelin | 2002-11-24 22:22:08 +0000 |
|---|---|---|
| committer | herbelin | 2002-11-24 22:22:08 +0000 |
| commit | 38c3baf926ce1248be7aca5288810e8c000bb55c (patch) | |
| tree | af42e63667f44fae65d48d568233cb4357be4653 | |
| parent | fad76e59fbaa7371252753a9bc55650aacf6c43c (diff) | |
Ajout option_cons
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3265 85f007b7-540e-0410-9357-904b9bb8a0f7
| -rw-r--r-- | lib/util.ml | 4 | ||||
| -rw-r--r-- | lib/util.mli | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/util.ml b/lib/util.ml index 885278da7a..441cf3744a 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_cons a l = match a with + | Some x -> x::l + | None -> l + let option_fold_left2 f e a b = match (a,b) with | Some x, Some y -> f e x y | _ -> e diff --git a/lib/util.mli b/lib/util.mli index 85ae3f2eb0..ad00151cb1 100644 --- a/lib/util.mli +++ b/lib/util.mli @@ -174,8 +174,9 @@ 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_cons : 'a option -> 'a list -> 'a list +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 |
