aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/aedifex/action.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/program/aedifex/action.lux')
-rw-r--r--stdlib/source/program/aedifex/action.lux15
1 files changed, 15 insertions, 0 deletions
diff --git a/stdlib/source/program/aedifex/action.lux b/stdlib/source/program/aedifex/action.lux
new file mode 100644
index 000000000..e8a88facd
--- /dev/null
+++ b/stdlib/source/program/aedifex/action.lux
@@ -0,0 +1,15 @@
+(.module:
+ [lux #*
+ [abstract
+ [monad (#+ Monad)]]
+ [control
+ ["." try (#+ Try)]
+ [concurrency
+ ["." promise (#+ Promise)]]]])
+
+(type: #export (Action a)
+ (Promise (Try a)))
+
+(def: #export monad
+ (Monad Action)
+ (:assume (try.with promise.monad)))