aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/concurrency/stm.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/concurrency/stm.lux')
-rw-r--r--stdlib/source/lux/concurrency/stm.lux6
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|)