aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/time/duration.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/time/duration.lux')
-rw-r--r--stdlib/source/lux/time/duration.lux22
1 files changed, 12 insertions, 10 deletions
diff --git a/stdlib/source/lux/time/duration.lux b/stdlib/source/lux/time/duration.lux
index 9821bc33d..3c3fab0dd 100644
--- a/stdlib/source/lux/time/duration.lux
+++ b/stdlib/source/lux/time/duration.lux
@@ -8,8 +8,10 @@
["p" parser]
[monad (#+ do)]]
[data
- ["." number ("nat/." Codec<Text,Nat>) ("int/." Codec<Text,Int> Number<Int>)]
- [text ("text/." Monoid<Text>)
+ [number
+ ["." nat ("nat/." decimal)]
+ ["." int ("int/." decimal number)]]
+ [text ("text/." monoid)
["l" lexer]]
["e" error]]
[type
@@ -57,12 +59,12 @@
(-> Duration Duration Int)
(i// (:representation param) (:representation subject)))
- (structure: #export _ (Equivalence Duration)
+ (structure: #export equivalence (Equivalence Duration)
(def: (= param subject)
(i/= (:representation param) (:representation subject))))
- (`` (structure: #export _ (Order Duration)
- (def: eq Equivalence<Duration>)
+ (`` (structure: #export order (Order Duration)
+ (def: &equivalence ..equivalence)
(~~ (do-template [<name> <op>]
[(def: (<name> param subject)
(<op> (:representation param) (:representation subject)))]
@@ -73,7 +75,7 @@
[>= i/>=]
))))
- (open: "duration/." Order<Duration>)
+ (open: "duration/." ..order)
(do-template [<name> <op>]
[(def: #export (<name> left right)
@@ -113,13 +115,13 @@
(def: #export leap-year (merge day normal-year))
-(structure: #export _ (Monoid Duration)
- (def: identity empty)
- (def: compose merge))
+(structure: #export monoid (Monoid Duration)
+ (def: identity ..empty)
+ (def: compose ..merge))
(def: #export (encode duration)
(-> Duration Text)
- (if (:: Equivalence<Duration> = empty duration)
+ (if (:: ..equivalence = empty duration)
"+0ms"
(let [signed? (negative? duration)
[days time-left] [(query day duration) (frame day duration)]