aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/time/instant.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/lux/time/instant.lux44
1 files changed, 22 insertions, 22 deletions
diff --git a/stdlib/source/lux/time/instant.lux b/stdlib/source/lux/time/instant.lux
index 31da7dc29..d04b7c845 100644
--- a/stdlib/source/lux/time/instant.lux
+++ b/stdlib/source/lux/time/instant.lux
@@ -13,7 +13,7 @@
["E" error]
[maybe]
(coll [list "L/" Fold<List> Functor<List>]
- ["v" vector "v/" Functor<Vector> Fold<Vector>]))
+ [sequence #+ Sequence sequence "sequence/" Functor<Sequence> Fold<Sequence>]))
(type opaque))
(.. [duration "duration/" Order<Duration>]
[date]))
@@ -102,33 +102,33 @@
))))
(def: normal-months
- (v;Vector Nat)
- (v;vector +31 +28 +31
+ (Sequence Nat)
+ (sequence +31 +28 +31
+30 +31 +30
+31 +31 +30
+31 +30 +31))
(def: leap-year-months
- (v;Vector Nat)
- (v;update [+1] n.inc normal-months))
+ (Sequence Nat)
+ (sequence;update [+1] n.inc normal-months))
(def: (find-month months time)
- (-> (v;Vector Nat) duration;Duration [Nat duration;Duration])
+ (-> (Sequence Nat) duration;Duration [Nat duration;Duration])
(if (duration/>= duration;empty time)
- (v/fold (function [month-days [current-month time-left]]
- (let [month-duration (duration;scale (nat-to-int month-days) duration;day)]
- (if (i.= 0 (duration;query month-duration time-left))
- [current-month time-left]
- [(n.inc current-month) (duration;merge (duration;scale -1 month-duration) time-left)])))
- [+0 time]
- months)
- (v/fold (function [month-days [current-month time-left]]
- (let [month-duration (duration;scale (nat-to-int month-days) duration;day)]
- (if (i.= 0 (duration;query month-duration time-left))
- [current-month time-left]
- [(n.dec current-month) (duration;merge month-duration time-left)])))
- [+11 time]
- (v;reverse months))))
+ (sequence/fold (function [month-days [current-month time-left]]
+ (let [month-duration (duration;scale (nat-to-int month-days) duration;day)]
+ (if (i.= 0 (duration;query month-duration time-left))
+ [current-month time-left]
+ [(n.inc current-month) (duration;merge (duration;scale -1 month-duration) time-left)])))
+ [+0 time]
+ months)
+ (sequence/fold (function [month-days [current-month time-left]]
+ (let [month-duration (duration;scale (nat-to-int month-days) duration;day)]
+ (if (i.= 0 (duration;query month-duration time-left))
+ [current-month time-left]
+ [(n.dec current-month) (duration;merge month-duration time-left)])))
+ [+11 time]
+ (sequence;reverse months))))
(def: (pad value)
(-> Int Text)
@@ -252,7 +252,7 @@
leap-year-months
normal-months)
month-days (|> months
- (v;nth (int-to-nat (i.dec utc-month)))
+ (sequence;nth (int-to-nat (i.dec utc-month)))
maybe;assume)]
_ (l;this "-")
utc-day lex-section
@@ -282,7 +282,7 @@
year-days-so-far (|> (i.* 365 years-since-epoch)
(i.+ previous-leap-days))
month-days-so-far (|> months
- v;to-list
+ sequence;to-list
(list;take (int-to-nat (i.dec utc-month)))
(L/fold n.+ +0))
total-days (|> year-days-so-far