aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/control/concurrency/promise.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/control/concurrency/promise.lux')
-rw-r--r--stdlib/source/lux/control/concurrency/promise.lux16
1 files changed, 8 insertions, 8 deletions
diff --git a/stdlib/source/lux/control/concurrency/promise.lux b/stdlib/source/lux/control/concurrency/promise.lux
index 33a04190b..244951139 100644
--- a/stdlib/source/lux/control/concurrency/promise.lux
+++ b/stdlib/source/lux/control/concurrency/promise.lux
@@ -25,7 +25,7 @@
{#.doc "Sets an promise's value if it has not been done yet."}
(All [a] (-> (Promise a) (Resolver a)))
(function (resolve value)
- (do io.Monad<IO>
+ (do io.monad
[(^@ old [_value _observers]) (atom.read promise)]
(case _value
(#.Some _)
@@ -82,14 +82,14 @@
(#.Some _)
#1))
-(structure: #export _ (Functor Promise)
+(structure: #export functor (Functor Promise)
(def: (map f fa)
(let [[fb resolve] (..promise [])]
(exec (io.run (await (|>> f resolve) fa))
fb))))
-(structure: #export _ (Apply Promise)
- (def: functor Functor<Promise>)
+(structure: #export apply (Apply Promise)
+ (def: &functor ..functor)
(def: (apply ff fa)
(let [[fb resolve] (..promise [])]
@@ -98,8 +98,8 @@
ff))
fb))))
-(structure: #export _ (Monad Promise)
- (def: functor Functor<Promise>)
+(structure: #export monad (Monad Promise)
+ (def: &functor ..functor)
(def: wrap ..resolved)
@@ -113,7 +113,7 @@
(def: #export (and left right)
{#.doc "Sequencing combinator."}
(All [a b] (-> (Promise a) (Promise b) (Promise [a b])))
- (do Monad<Promise>
+ (do ..monad
[a left
b right]
(wrap [a b])))
@@ -148,7 +148,7 @@
"Returns a Promise that will eventually host its result.")}
(All [a] (-> Nat (IO a) (Promise a)))
(let [[!out resolve] (..promise [])]
- (exec (|> (do io.Monad<IO>
+ (exec (|> (do io.monad
[value computation]
(resolve value))
(process.schedule millis-delay)