singalen: (nerd)
singalen ([personal profile] singalen) wrote2012-07-04 01:45 am
Entry tags:

ICFPC 2012!

13-16 июля.
Днепровцы, кто отдаст три (четыре) дня жизни?
Ну или не-днепровцы?
Java? Groovy? Scala?

[identity profile] thesz.livejournal.com 2012-07-10 01:45 pm (UTC)(link)
Каких конкретно функций не хватает?

[identity profile] thesz.livejournal.com 2012-07-10 08:29 pm (UTC)(link)
>Арифметики над интервалами дат: сравнение/пересечение/дополнение;

Возможно сделать через пары дат. Не спорю, что этого нет, но это тривиально.

http://www.haskell.org/ghc/docs/6.10.4/html/libraries/time/Data-Time-LocalTime.html содержит "поля данных": см TimeOfDay и LocalTime. LocalTime содержит Day, который может быть спроецирован в год, месяц и день.

Follow the types!

Насчёт периода не знаю. Наверняка это тоже можно сделать и это опять же будет тривиально.

[identity profile] arumad.livejournal.com 2012-07-12 02:38 pm (UTC)(link)
хм, а как выразить и работать одновременно в зонах CST-6CDT, Europe/Kiev, America/Los_Angeles?
как они все ведут себя на весенне/осенних сдвигах?
а две последние на исторических сдвигах?

вітя, мінус joda - власна dbtz.
ми не використовуємо joda-time dbtz, адаптуємо jre dbtz + parser POSIX TZ,
аби коли закони міняються сис міняв конфу енва, а не викладати "новий випуск".

[identity profile] arumad.livejournal.com 2012-07-13 05:17 am (UTC)(link)
проглянь визначення:
data ZonedTime = ZonedTime {
zonedTimeToLocalTime :: LocalTime
zonedTimeZone :: TimeZone
}
data TimeZone = TimeZone {
timeZoneMinutes :: Int,
timeZoneSummerOnly :: Bool,
timeZoneName :: String
}
вибач за каламбур, але цей TimeZone не є часовою зоною, а лише зрізом часової зони в певний момент.

не бачу такого поняття як Instant, лише UTCTime.
не бачу очевидно необхідного HistoricalTimeZone із:
cutTimeZone :: HistoricalTimeZone -> UTCTime -> TimeZone
historicalTimeZoneDstOffset :: HistoricalTimeZone -> UTCTime -> Int
timeZoneShortName :: TimeZone -> UTCTime -> String
і щоб час прив'язувався саме до історичних зон.

якщо їх і немає, то haskell time library навіть не є бібліотекою роботи з часом,
здається мені це не більше ніж трохи узагальнена парсилка дат.

[identity profile] arumad.livejournal.com 2012-07-13 01:23 pm (UTC)(link)
вважай нічим, це був наголос - лише тим, що легко ходить із/в справжню часову зону, а не в specific clock setting that is used in the timezone

[identity profile] arumad.livejournal.com 2012-07-13 05:27 am (UTC)(link)
знайшов розширення, відповідно є історичні зони,
але працювати насправді доведеться в UTC а потім конвертувати по серіям:
timezone { series ; olson }
In Data.Time, the TimeZone data type does not actually represent an entire timezone. Rather, it only represents a specific clock setting that is used in the timezone, possibly one of several clock settings that may apply at different times. This package introduces a new data type, TimeZoneSeries, that represents an entire timezone with all of its possible clock settings. It also provides more reliable variants of some functions in Data.Time that rely upon information about a timezone.