From afbab0968340abcec044d9ac70c4a3ec0756933e Mon Sep 17 00:00:00 2001 From: Estevan Castilho Date: Thu, 13 Aug 2026 02:35:36 +0000 Subject: Atomic swap (and monadic swap) --- lib/Utilities.mli | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/Utilities.mli') 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 -- cgit v1.2.3