From 2b0a455007c9ba7e5b38039d9adf71a01010a208 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Thu, 25 Apr 2019 20:35:07 +0200 Subject: Made day-stream slightly less buggy. --- module/srfi/srfi-19/util.scm | 9 +++++++-- 1 file 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) -- cgit v1.2.3