lomeo: (лямбда)
[personal profile] lomeo
Скажите, пожалуйста, кто что использует для arbitrary precision computations в Haskell? Интересует аналог BigDecimal в java - при делении задаём режим округления, можно использовать для денег. Ну и важно иметь человеческий Read/Show.

Кроме библиотеки Jeremy Shaw есть что-нибудь стоящее? Мне не нравится, что она не на hackage и у неё есть (небольшие) проблемы с делением.

Date: 2011-04-19 08:01 am (UTC)
From: [identity profile] nivanych.livejournal.com
Если не секрет, для чего?

Date: 2011-04-19 08:15 am (UTC)
From: [identity profile] lomeo.livejournal.com
Да я несколько раз натыкался на отсутствие стандартных длинных decimal в Haskell - один проект был с типом денег, но там сравнительно просто было - я Integer использовал. Потом было несколько задач, где плавающая точка очень мешала, тогда и нашёл decimal от Jeremy Shaw. Сейчас у меня сериализация в/из строки, представь json с длинными decimal, например.

Вопрос не относится к каким-то моим задачам. Мне интересно, что люди вообще используют в случаях, когда в Java берут BigDecimal.

Date: 2011-04-19 08:56 am (UTC)
From: [identity profile] nivanych.livejournal.com
Ну, любопытно.
Вроде, в классе Integral описано деление с остатком, может быть, на основе этого...

Date: 2011-04-19 09:10 am (UTC)
From: [identity profile] lomeo.livejournal.com
Очень важно иметь сериализацию. Скажем, прочитать какой-нибудь 1.234e-567

В Integral только mod/rem, насколько я помню. Десятичных дробей нет. Плюс я же хочу округление выбирать сам ;-)

Date: 2011-04-19 01:30 pm (UTC)
From: [identity profile] voidex.livejournal.com
Оберни Ratio

Date: 2011-04-19 01:52 pm (UTC)
From: [identity profile] lomeo.livejournal.com
Думал, но нет show/read и мне нужен именно decimal. А Ratio как начнёт нормализовать :(

Date: 2011-04-19 02:01 pm (UTC)
From: [identity profile] voidex.livejournal.com
Тогда оберни Integer. А show/read, что его там писать-то?

Date: 2011-04-19 02:27 pm (UTC)
From: [identity profile] lomeo.livejournal.com
М? Infinity, NaN, различные способы округления, там до фига писать вообще-то. Самому рисовать арифметические операции с нуля как-то лениво.

Да и вообще - вопрос о том, чем люди пользуются? Ты вот Integer оборачиваешь что ли? :)

Date: 2011-04-19 02:37 pm (UTC)
From: [identity profile] voidex.livejournal.com
Я бы Ratio обернул, да округлял, когда надо.

Profile

lomeo: (Default)
Dmitry Antonyuk

December 2015

S M T W T F S
  12345
6789101112
131415 16171819
20212223242526
2728293031  

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 22nd, 2017 04:44 pm
Powered by Dreamwidth Studios