aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Utilities.mli
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Utilities.mli')
-rw-r--r--lib/Utilities.mli17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/Utilities.mli b/lib/Utilities.mli
index 2735009..f149889 100644
--- a/lib/Utilities.mli
+++ b/lib/Utilities.mli
@@ -1,3 +1,9 @@
+module Ordering : sig
+ type t = Equal | Smaller | Greater
+
+ val of_int : int -> t
+end
+
module Result : sig
val ( let* ) : ('a, 'e) result -> ('a -> ('b, 'e) result) -> ('b, 'e) result
val fmap : ('a -> ('b, 'e) result) -> ('a, 'e) result -> ('b, 'e) result
@@ -7,6 +13,17 @@ module List : sig
val sequence : ('a, 'b) result list -> ('a list, 'b) result
end
+module Option : sig
+ val ( let* ) : 'a option -> ('a -> 'b option) -> 'b option
+ val fmap : ('a -> 'b option) -> 'a option -> 'b option
+end
+
+module Atomic : sig
+ val swap : 'a Atomic.t -> ('a -> 'a) -> 'a Atomic.t
+ (* This is silly *)
+ val mswap : 'a Atomic.t -> ('a -> ('a, 'b) result) -> ('a Atomic.t, 'b) result
+end
+
module FingerTree : sig
val map2 : ('a -> 'b -> 'c) -> 'a BatFingerTree.t -> 'b BatFingerTree.t -> 'c BatFingerTree.t
val zip : 'a BatFingerTree.t -> 'b BatFingerTree.t -> ('a * 'b) BatFingerTree.t