aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/documentation/lux/control/writer.lux
diff options
context:
space:
mode:
authorEduardo Julian2021-08-18 03:29:15 -0400
committerEduardo Julian2021-08-18 03:29:15 -0400
commite00ba096c8837abe85d366e0c1293c09dbe84d81 (patch)
treedc1f0955d4461ae30bb4945cddd74c462f1aee98 /stdlib/source/documentation/lux/control/writer.lux
parent3289b9dcf9d5d1c1e5c380e3185065c8fd32535f (diff)
Some bug fixes.
Diffstat (limited to '')
-rw-r--r--stdlib/source/documentation/lux/control/writer.lux39
1 files changed, 39 insertions, 0 deletions
diff --git a/stdlib/source/documentation/lux/control/writer.lux b/stdlib/source/documentation/lux/control/writer.lux
new file mode 100644
index 000000000..99cbe0463
--- /dev/null
+++ b/stdlib/source/documentation/lux/control/writer.lux
@@ -0,0 +1,39 @@
+(.module:
+ [library
+ [lux (#- local)
+ ["$" documentation (#+ documentation:)]
+ [data
+ [text (#+ \n)
+ ["%" format (#+ format)]]]
+ [macro
+ ["." template]]]]
+ [\\library
+ ["." /]])
+
+(documentation: /.Writer
+ "Represents a value with an associated 'log' to record arbitrary information.")
+
+(documentation: /.write
+ "Write a value to the log."
+ [(write message)])
+
+(documentation: /.with
+ "Enhances a monad with Writer functionality."
+ [(with monoid monad)])
+
+(documentation: /.lifted
+ "Wraps a monadic value with Writer machinery."
+ [(lifted monoid monad)])
+
+(.def: .public documentation
+ (.List $.Module)
+ ($.module /._
+ ""
+ [..Writer
+ ..write
+ ..with
+ ..lifted
+ ($.default /.functor)
+ ($.default /.apply)
+ ($.default /.monad)]
+ []))