aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/concurrency/task.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/concurrency/task.lux')
-rw-r--r--stdlib/source/lux/concurrency/task.lux4
1 files changed, 4 insertions, 0 deletions
diff --git a/stdlib/source/lux/concurrency/task.lux b/stdlib/source/lux/concurrency/task.lux
index f46d1f0da..6f880ef79 100644
--- a/stdlib/source/lux/concurrency/task.lux
+++ b/stdlib/source/lux/concurrency/task.lux
@@ -25,6 +25,10 @@
(All [a] (-> a (Task a)))
(:: P;Applicative<Promise> wrap (#R;Success value)))
+(def: #export (try computation)
+ (All [a] (-> (Task a) (Task (R;Result a))))
+ (:: P;Functor<Promise> map (|>. #R;Success) computation))
+
(struct: #export _ (Functor Task)
(def: (map f fa)
(:: P;Functor<Promise> map