: +gt+? ( n1 n2 -- ? ) <=> +gt+ eq? ; : time-before? ( timestamp -- ? ) now time- second>> 0 < ; : max-neg ( x y -- x/y ) 2array [ 0 < ] filter dup empty? [ "dude, they're both non-negative numbers" throw ] when [ <=> ] sort peek ; : time-max-neg ( time1 time2 -- time1/time2 ) 2array [ time-before? ] filter dup empty? [ "dude, they're both in the future! WHOA" throw ] when [ <=> ] sort peek ; : last-weekday ( n -- timestamp ) [ now now [ 7 - ] change-day ] dip [ day-this-week ] curry bi@ time-max-neg ; ! 2 different time objects : closest-past-weekdays ( -- seq ) 6 [0,b] [ last-weekday ] map ;