aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/control/concurrency/atom.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/library/lux/control/concurrency/atom.lux56
1 files changed, 28 insertions, 28 deletions
diff --git a/stdlib/source/library/lux/control/concurrency/atom.lux b/stdlib/source/library/lux/control/concurrency/atom.lux
index 5685495a2..5ce90157e 100644
--- a/stdlib/source/library/lux/control/concurrency/atom.lux
+++ b/stdlib/source/library/lux/control/concurrency/atom.lux
@@ -20,57 +20,57 @@
(new [a])
(get [] "io" a)
(compareAndSet [a a] boolean)]))]
- (for [@.old <jvm>
- @.jvm <jvm>]
+ (for @.old <jvm>
+ @.jvm <jvm>
(as_is)))
-(with_expansions [<new> (for [@.js "js array new"
- @.python "python array new"
- @.lua "lua array new"
- @.ruby "ruby array new"
- @.php "php array new"
- @.scheme "scheme array new"]
+(with_expansions [<new> (for @.js "js array new"
+ @.python "python array new"
+ @.lua "lua array new"
+ @.ruby "ruby array new"
+ @.php "php array new"
+ @.scheme "scheme array new"
(as_is))
- <write> (for [@.js "js array write"
- @.python "python array write"
- @.lua "lua array write"
- @.ruby "ruby array write"
- @.php "php array write"
- @.scheme "scheme array write"]
+ <write> (for @.js "js array write"
+ @.python "python array write"
+ @.lua "lua array write"
+ @.ruby "ruby array write"
+ @.php "php array write"
+ @.scheme "scheme array write"
(as_is))
- <read> (for [@.js "js array read"
- @.python "python array read"
- @.lua "lua array read"
- @.ruby "ruby array read"
- @.php "php array read"
- @.scheme "scheme array read"]
+ <read> (for @.js "js array read"
+ @.python "python array read"
+ @.lua "lua array read"
+ @.ruby "ruby array read"
+ @.php "php array read"
+ @.scheme "scheme array read"
(as_is))]
(abstract: .public (Atom a)
(with_expansions [<jvm> (java/util/concurrent/atomic/AtomicReference a)]
- (for [@.old <jvm>
- @.jvm <jvm>]
+ (for @.old <jvm>
+ @.jvm <jvm>
(array.Array a)))
(def: .public (atom value)
(All (_ a) (-> a (Atom a)))
(:abstraction (with_expansions [<jvm> (java/util/concurrent/atomic/AtomicReference::new value)]
- (for [@.old <jvm>
- @.jvm <jvm>]
+ (for @.old <jvm>
+ @.jvm <jvm>
(<write> 0 value (<new> 1))))))
(def: .public (read! atom)
(All (_ a) (-> (Atom a) (IO a)))
(with_expansions [<jvm> (java/util/concurrent/atomic/AtomicReference::get (:representation atom))]
- (for [@.old <jvm>
- @.jvm <jvm>]
+ (for @.old <jvm>
+ @.jvm <jvm>
(io.io (<read> 0 (:representation atom))))))
(def: .public (compare_and_swap! current new atom)
(All (_ a) (-> a a (Atom a) (IO Bit)))
(io.io (with_expansions [<jvm> (ffi.of_boolean (java/util/concurrent/atomic/AtomicReference::compareAndSet current new (:representation atom)))]
- (for [@.old <jvm>
- @.jvm <jvm>]
+ (for @.old <jvm>
+ @.jvm <jvm>
(let [old (<read> 0 (:representation atom))]
(if (same? old current)
(exec