aboutsummaryrefslogtreecommitdiff
path: root/clib/option.ml
diff options
context:
space:
mode:
Diffstat (limited to 'clib/option.ml')
-rw-r--r--clib/option.ml2
1 files changed, 2 insertions, 0 deletions
diff --git a/clib/option.ml b/clib/option.ml
index c335e836c2..d1775ae3ae 100644
--- a/clib/option.ml
+++ b/clib/option.ml
@@ -55,6 +55,8 @@ let make x = Some x
(** [bind x f] is [f y] if [x] is [Some y] and [None] otherwise *)
let bind x f = match x with Some y -> f y | None -> None
+let filter f x = bind x (fun v -> if f v then x else None)
+
(** [init b x] returns [Some x] if [b] is [true] and [None] otherwise. *)
let init b x =
if b then