[ number>string ] [ month-name ] bi* swap " " glue 20 center. ;
: days-header. ( -- )
- day-abbreviations2 unwords print ;
+ day-abbreviations2 join-words print ;
: days. ( year month -- )
[ 1 (day-of-week) dup [ " " write ] times ]
[
[ month-name 20 center. ]
[ days-header. days. nl nl ] bi
- ] with-string-writer lines
+ ] with-string-writer split-lines
] with map 3 <groups>
[ first3 [ "%-20s %-20s %-20s\n" printf ] 3each ] each ;
[ first [ /mod ] [ dup ] if* ] [ second ] bi swap
dup 0 > [ number>string prepend , ] [ 2drop ] if
] each drop
- ] { } make [ "0s" ] [ reverse unwords ] if-empty ;
+ ] { } make [ "0s" ] [ reverse join-words ] if-empty ;
M: real elapsed-time
>integer elapsed-time ;