aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/control/remember.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/library/lux/control/remember.lux48
1 files changed, 25 insertions, 23 deletions
diff --git a/stdlib/source/library/lux/control/remember.lux b/stdlib/source/library/lux/control/remember.lux
index 02e6c5011..dd72e4d7a 100644
--- a/stdlib/source/library/lux/control/remember.lux
+++ b/stdlib/source/library/lux/control/remember.lux
@@ -19,7 +19,7 @@
[macro
["[0]" code]
["[0]" template]
- [syntax (.only syntax:)]]]])
+ [syntax (.only syntax)]]]])
(exception: .public (must_remember [deadline Date
today Date
@@ -50,32 +50,34 @@
{try.#Failure message}
(<>.failure message)))))
-(syntax: .public (remember [deadline ..deadline
- message <c>.text
- focus (<>.maybe <c>.any)])
- (let [now (io.run! instant.now)
- today (instant.date now)]
- (if (date#< deadline today)
- (in (case focus
- {.#Some focus}
- (list focus)
+(def: .public remember
+ (syntax (_ [deadline ..deadline
+ message <c>.text
+ focus (<>.maybe <c>.any)])
+ (let [now (io.run! instant.now)
+ today (instant.date now)]
+ (if (date#< deadline today)
+ (in (case focus
+ {.#Some focus}
+ (list focus)
- {.#None}
- (list)))
- (meta.failure (exception.error ..must_remember [deadline today message focus])))))
+ {.#None}
+ (list)))
+ (meta.failure (exception.error ..must_remember [deadline today message focus]))))))
(template [<name> <message>]
- [(`` (syntax: .public (<name> [deadline ..deadline
- message <c>.text
- focus (<>.maybe <c>.any)])
- (in (list (` (..remember (~ (code.text (%.date deadline)))
- (~ (code.text (format <message> " " message)))
- (~+ (case focus
- {.#Some focus}
- (list focus)
+ [(`` (def: .public <name>
+ (syntax (_ [deadline ..deadline
+ message <c>.text
+ focus (<>.maybe <c>.any)])
+ (in (list (` (..remember (~ (code.text (%.date deadline)))
+ (~ (code.text (format <message> " " message)))
+ (~+ (case focus
+ {.#Some focus}
+ (list focus)
- {.#None}
- (list)))))))))]
+ {.#None}
+ (list))))))))))]
[to_do "TODO"]
[fix_me "FIXME"]