aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Utilities.mli
diff options
context:
space:
mode:
authorEstevan Castilho <tevo@riajuu.net>2026-08-13 02:35:36 +0000
committerEstevan Castilho <tevo@riajuu.net>2026-08-23 03:06:55 +0000
commitafbab0968340abcec044d9ac70c4a3ec0756933e (patch)
tree327ef2f45d8360e774a44586650b8baee14d5927 /lib/Utilities.mli
parentf885a8f7dd85d79c5c8aa93265f5dea781b345a9 (diff)
downloadRNT-afbab0968340abcec044d9ac70c4a3ec0756933e.tar.gz
RNT-afbab0968340abcec044d9ac70c4a3ec0756933e.zip
Atomic swap (and monadic swap)
Diffstat (limited to '')
-rw-r--r--lib/Utilities.mli6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Utilities.mli b/lib/Utilities.mli
index cdb53df..34a03e9 100644
--- a/lib/Utilities.mli
+++ b/lib/Utilities.mli
@@ -3,3 +3,9 @@ module Result : sig
val fmap : ('a -> ('b, 'e) result) -> ('a, 'e) result -> ('b, 'e) result
val sequence : ('a, 'b) result list -> ('a list, 'b) result
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