diff options
Diffstat (limited to 'stdlib/source/lux/concurrency/stm.lux')
-rw-r--r-- | stdlib/source/lux/concurrency/stm.lux | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/stdlib/source/lux/concurrency/stm.lux b/stdlib/source/lux/concurrency/stm.lux index 4e2d82905..69a36461a 100644 --- a/stdlib/source/lux/concurrency/stm.lux +++ b/stdlib/source/lux/concurrency/stm.lux @@ -14,7 +14,8 @@ (abstract: #export (Var a) {#.doc "A mutable cell containing a value, and observers that will be alerted of any change to it."} - (Atom [a (List (-> a (IO Unit)))]) + + (Atom [a (List (-> a (IO Top)))]) (def: #export (var value) {#.doc "Creates a new STM var, with a default value."} @@ -43,6 +44,7 @@ (wrap [])) (write! new-value (@abstraction var))))) + ## TODO: Remove when possible (def: (helper|follow var) (All [a] (-> (Var a) (frp.Channel a))) (frp.channel [])) @@ -185,7 +187,7 @@ (atom false)) (def: (issue-commit commit) - (-> Commit (IO Unit)) + (-> Commit (IO Top)) (let [entry [commit (promise #.None)]] (loop [|commits| (io.run (atom.read pending-commits))] (case (promise.poll |commits|) |