aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/control/concurrency/stm.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/library/lux/control/concurrency/stm.lux28
1 files changed, 14 insertions, 14 deletions
diff --git a/stdlib/source/library/lux/control/concurrency/stm.lux b/stdlib/source/library/lux/control/concurrency/stm.lux
index 2be44daba..3668a2e9c 100644
--- a/stdlib/source/library/lux/control/concurrency/stm.lux
+++ b/stdlib/source/library/lux/control/concurrency/stm.lux
@@ -16,7 +16,7 @@
[macro
["^" pattern]]
[type
- abstract]]]
+ [abstract {"-" pattern}]]]]
[//
["[0]" atom {"+" Atom atom}]
["[0]" async {"+" Async Resolver}]
@@ -30,24 +30,24 @@
(def: .public (var value)
(All (_ a) (-> a (Var a)))
- (:abstraction (atom.atom [value (list)])))
+ (abstraction (atom.atom [value (list)])))
(def: read!
(All (_ a) (-> (Var a) a))
- (|>> :representation atom.read! io.run! product.left))
+ (|>> representation atom.read! io.run! product.left))
(def: (un_follow! sink var)
(All (_ a) (-> (Sink a) (Var a) (IO Any)))
(do io.monad
[_ (atom.update! (function (_ [value observers])
[value (list.only (|>> (same? sink) not) observers)])
- (:representation var))]
+ (representation var))]
(in [])))
(def: (write! new_value var)
(All (_ a) (-> a (Var a) (IO Any)))
(do [! io.monad]
- [.let [var' (:representation var)]
+ [.let [var' (representation var)]
(^.let old [old_value observers]) (atom.read! var')
succeeded? (atom.compare_and_swap! old [new_value observers] var')]
(if succeeded?
@@ -71,7 +71,7 @@
[.let [[channel sink] (frp.channel [])]
_ (atom.update! (function (_ [value observers])
[value {.#Item sink observers}])
- (:representation target))]
+ (representation target))]
(in [channel sink])))
)
@@ -91,11 +91,11 @@
(All (_ a) (-> (Var a) Tx (Maybe a)))
(|> tx
(list.example (function (_ [_var _original _current])
- (same? (:as (Var Any) var)
- (:as (Var Any) _var))))
+ (same? (as (Var Any) var)
+ (as (Var Any) _var))))
(# maybe.monad each (function (_ [_var _original _current])
_current))
- :expected))
+ as_expected))
(def: .public (read var)
(All (_ a) (-> (Var a) (STM a)))
@@ -116,11 +116,11 @@
{.#End}
{.#Item [_var _original _current] tx'}
- (if (same? (:as (Var Any) var)
- (:as (Var Any) _var))
- {.#Item [#var (:as (Var Any) _var)
- #original (:as Any _original)
- #current (:as Any value)]
+ (if (same? (as (Var Any) var)
+ (as (Var Any) _var))
+ {.#Item [#var (as (Var Any) _var)
+ #original (as Any _original)
+ #current (as Any value)]
tx'}
{.#Item [#var _var
#original _original