aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/aedifex/artifact/time.lux
diff options
context:
space:
mode:
authorEduardo Julian2021-06-12 01:32:40 -0400
committerEduardo Julian2021-06-12 01:32:40 -0400
commitaf3e6e2cb011dc2ad9204440990731a2f272716d (patch)
tree3521c74b05fc5b3ddddbe901d32ace87dbb6c018 /stdlib/source/program/aedifex/artifact/time.lux
parent8f575da5095e3b259d4eb6b6f13d3e37ef1d38e4 (diff)
Constraining the year of the snapshot time in Aedifex.
Diffstat (limited to 'stdlib/source/program/aedifex/artifact/time.lux')
-rw-r--r--stdlib/source/program/aedifex/artifact/time.lux23
1 files changed, 14 insertions, 9 deletions
diff --git a/stdlib/source/program/aedifex/artifact/time.lux b/stdlib/source/program/aedifex/artifact/time.lux
index 19eb417a5..59367c37d 100644
--- a/stdlib/source/program/aedifex/artifact/time.lux
+++ b/stdlib/source/program/aedifex/artifact/time.lux
@@ -1,5 +1,6 @@
(.module:
[lux #*
+ ["." time]
[abstract
[equivalence (#+ Equivalence)]
[monad (#+ do)]]
@@ -7,29 +8,33 @@
["<>" parser
["<.>" text (#+ Parser)]]]
[data
+ ["." product]
[text
- ["%" format (#+ Format)]]]
- [time
- ["." instant (#+ Instant)]]]
+ ["%" format (#+ Format)]]]]
["." / #_
["#." date]
["#." time]])
(type: #export Time
- Instant)
+ [/date.Date /time.Time])
+
+(def: #export epoch
+ Time
+ [/date.epoch time.midnight])
(def: #export equivalence
(Equivalence Time)
- instant.equivalence)
+ (product.equivalence /date.equivalence
+ time.equivalence))
-(def: #export (format value)
+(def: #export (format [date time])
(Format Time)
- (%.format (/date.format (instant.date value))
- (/time.format (instant.time value))))
+ (%.format (/date.format date)
+ (/time.format time)))
(def: #export parser
(Parser Time)
(do <>.monad
[date /date.parser
time /time.parser]
- (wrap (instant.from_date_time date time))))
+ (wrap [date time])))