aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2019-04-25 20:35:07 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2019-04-25 20:35:07 +0200
commit2b0a455007c9ba7e5b38039d9adf71a01010a208 (patch)
tree5764cd6d734c6dff820239298911d66ef006a588
parentFix html output. (diff)
downloadcalp-2b0a455007c9ba7e5b38039d9adf71a01010a208.tar.gz
calp-2b0a455007c9ba7e5b38039d9adf71a01010a208.tar.xz
Made day-stream slightly less buggy.
-rw-r--r--module/srfi/srfi-19/util.scm9
1 files changed, 7 insertions, 2 deletions
diff --git a/module/srfi/srfi-19/util.scm b/module/srfi/srfi-19/util.scm
index 06d03344..792b46af 100644
--- a/module/srfi/srfi-19/util.scm
+++ b/module/srfi/srfi-19/util.scm
@@ -3,6 +3,7 @@
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-19 setters)
#:use-module (srfi srfi-41)
+ #:use-module (util)
#:export (copy-date
drop-time! drop-time
in-day? today?
@@ -95,12 +96,16 @@ attribute set to 0. Can also be seen as \"Start of day\""
(time-utc->date (date->time-utc date)
(zone-offset date)))
+(define-public normalize-date*
+ (compose time-utc->date date->time-utc))
+
;; Returns a stream of date objects, one day appart, staring from start-day.
(define-public (day-stream start-day)
(stream-iterate
(lambda (d)
- (set! (day d) (1+ (day d)))
- (normalize-date d))
+ (mod! (day d) = (+ 1))
+ (set! d (drop-time (normalize-date* d)))
+ d)
(drop-time start-day)))
(define-public (in-date-range? start-date end-date)