aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/control/concurrency/atom.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/library/lux/control/concurrency/atom.lux')
-rw-r--r--stdlib/source/library/lux/control/concurrency/atom.lux9
1 files changed, 1 insertions, 8 deletions
diff --git a/stdlib/source/library/lux/control/concurrency/atom.lux b/stdlib/source/library/lux/control/concurrency/atom.lux
index 07e2640f8..b6d9461f0 100644
--- a/stdlib/source/library/lux/control/concurrency/atom.lux
+++ b/stdlib/source/library/lux/control/concurrency/atom.lux
@@ -47,7 +47,7 @@
@.scheme "scheme array read"}
(as_is))]
(abstract: .public (Atom a)
- {#.doc "Atomic references that are safe to mutate concurrently."}
+ {}
(with_expansions [<jvm> (java/util/concurrent/atomic/AtomicReference a)]
(for {@.old <jvm>
@@ -69,8 +69,6 @@
(<read> 0 (:representation atom))))))
(def: .public (compare_and_swap! current new atom)
- {#.doc (example "Only mutates an atom if you can present its current value."
- "That guarantees that atom was not updated since you last read from it.")}
(All [a] (-> a a (Atom a) (IO Bit)))
(io.io (with_expansions [<jvm> (java/util/concurrent/atomic/AtomicReference::compareAndSet current new (:representation atom))]
(for {@.old <jvm>
@@ -83,9 +81,6 @@
))
(def: .public (update! f atom)
- {#.doc (example "Updates an atom by applying a function to its current value."
- "If it fails to update it (because some other process wrote to it first), it will retry until it succeeds."
- "The retries will be done with the new values of the atom, as they show up.")}
(All [a] (-> (-> a a) (Atom a) (IO [a a])))
(loop [_ []]
(do io.monad
@@ -97,8 +92,6 @@
(recur [])))))
(def: .public (write! value atom)
- {#.doc (example "Writes the given value to an atom."
- "If it fails to write it (because some other process wrote to it first), it will retry until it succeeds.")}
(All [a] (-> a (Atom a) (IO a)))
(|> atom
(..update! (function.constant value))