diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/library/lux/control/concurrency/stm.lux | 28 |
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 |