racket/date

Jun 17, 2014 01:23

Что-то с нормализацией дат в racket/date как-то тоскливо:

> (date->seconds (date* 7 8 1 17 6 2014 2 167 #f 14400 0 "MSK"))
1402952887
> (date->seconds (date* 7 8 1 17 6 2011 2 167 #f 14400 0 "MSK"))
1308258487
> (date->seconds (date* 7 8 1 -17 6 2014 2 167 #f 14400 0 "MSK"))
date*: contract violation
expected: (integer-in 1 31)
given: -17
context...:
/usr/share/racket/collects/racket/private/misc.rkt:87:7

OCaml нормализует:

# mktime {tm_sec = -41; tm_min = 59; tm_hour = 0; tm_mday = 17; tm_mon = 5;
tm_year = 114; tm_wday = 2; tm_yday = 167; tm_isdst = false} ;;
- : float * Unix.tm =
(1402952299.,
{tm_sec = 19; tm_min = 58; tm_hour = 0; tm_mday = 17; tm_mon = 5;
tm_year = 114; tm_wday = 2; tm_yday = 167; tm_isdst = false})

Так-то racket мне и не нужен вовсе, код (оптимизатор к БД) в рамках
R5RS внутри ocaml-проги будет работать, некоторые вещи думал в racket-е
получше протестировать, но что-то не выходит. Ну и ладно, будем тестировать
как обычно, на заказчиках.

scheme, ocaml, fp

Previous post Next post
Up