]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/lablgtk/lablgtk_20000829-0.1.0/gaux.ml
Initial revision
[helm.git] / helm / DEVEL / lablgtk / lablgtk_20000829-0.1.0 / gaux.ml
diff --git a/helm/DEVEL/lablgtk/lablgtk_20000829-0.1.0/gaux.ml b/helm/DEVEL/lablgtk/lablgtk_20000829-0.1.0/gaux.ml
new file mode 100644 (file)
index 0000000..a117291
--- /dev/null
@@ -0,0 +1,17 @@
+(* $Id$ *)
+
+(* Option handling *)
+
+let may ~f x =
+  match x with None -> ()
+  | Some x -> let _ = f x in ()
+
+let may_map ~f x =
+  match x with None -> None
+  | Some x -> Some (f x)
+
+let default x ~opt =
+  match opt with None -> x | Some y -> y
+
+let may_default f x ~opt =
+  match opt with None -> f x | Some y -> y