diff --git a/src/cal-day.scm b/src/cal-day.scm index 2811ffe..99bc377 100644 --- a/src/cal-day.scm +++ b/src/cal-day.scm @@ -42,6 +42,12 @@ string->cal-day parse-cal-day/month + cal-day=? + cal-day=? + cal-day>? + cal-day-tests! ) @@ -146,6 +152,45 @@ (or d (string->cal-month s)))) + ;; Date equality + (define (cal-day=? a b) + (and (cal-day? a) + (cal-day? b) + (eq? (cal-day-year a) + (cal-day-year b)) + (eq? (cal-day-month a) + (cal-day-month b)) + (eq? (cal-day-day a) + (cal-day-day b)))) + + ;; Strict date inequality + (define (cal-day=? a b) + (not (cal-day? a b) + (not (cal-day<=? a b))) + ;; Module self-tests (define (cal-day-tests!) (run-tests