Anonymous
Alexander
ось?
Alexander
на винде мне стек понравился больше всего
Anonymous
A64m
стек
Anonymous
а там GHCi есть, да?
A64m
там правда в последние пару лет поддержка винды все хуже, к примеру msys2 старый
A64m
есть
Alexander
ghci в ghc
Alexander
стек ставит ghc
Alexander
я вообще делал stack exec sh и радовался
A64m
так что если надо много со всякими сишными либами работать можно рассмотреть другие варианты (но не из этого списка)
Alexander
msys2 приятнее цыгвина, который приходилось с HP использовать
Alexander
awson делал для майкрософтового рантайма версию
Anonymous
A64m
haskell language server
Anonymous
Anonymous
A64m
только инстуркцию по тому как билдить для него хаскельный сервис надо смотреть на гитхабе этого проекта, в описании плагина старая версия
Зигохистоморфный
да, там мультиверсии теперь) и еще 8.4 появился
A64m
да там уже с того начинается что git clone надо с --recursive
Зигохистоморфный
ну да, сабмодули же
Alexander
так map (either f id) как на линзах?
Anonymous
дуратский РКН, приходится через ВПН скачивать
Anonymous
Anonymous
куда
A64m
each . _Left %~ f
A64m
если я не перепутал параметры either конечно
Anonymous
что меня больше всего пугает в хаскеле так это туева куча операторов
Зигохистоморфный
Зигохистоморфный
чет у меня тормозит телега
Alexander
Зигохистоморфный
Alexander
ну ваш аналог РКН
Anonymous
Кстате, а чем быстрее всего переводить цифирки в текст?
Anonymous
Я пользую double-conversion
Anonymous
Anonymous
Но он тока с double работает
Alexander
Alexander
https://hackage.haskell.org/package/text-1.2.2.1/docs/Data-Text-Lazy-Builder.html
Alexander
https://hackage.haskell.org/package/text-1.2.2.1/docs/Data-Text-Lazy-Builder-Int.html
A64m
это вроде только среди искоробочных самый быстрый, с даблами в text вечно тормоза какие-то
Alexander
ну вообще юзкейс ещё надо бы узнать
Anonymous
Хмм
Anonymous
То есть вот это медленнее?
https://hackage.haskell.org/package/double-conversion-2.0.2.0/docs/Data-Double-Conversion-Text.html
Alexander
в студию вызывается criterion
A64m
раз кто-то специальный пакет для этого сделал - можно предположить что быстрее
Anonymous
Юзкейс - сконвертировать кучу флоатов (ок 100 000 000) в текст с вставкой переноса строки через каждые 10 000
Anonymous
И плюнуть в файл
A64m
но плохо что там не в билдер даблы конвертятся
A64m
там только цифры? так это лучше байтстрингом тогда делать
Anonymous
Просто у меня float. Приходится его в double конвертировать (
И да, плохо, что не в builder
Anonymous
Автор double-conversion пишет, что в bytestring конвертируется медленнее из-за особенностей выделения памяти
Alexander
автор глупый какой-то
Alexander
(/me проверяет не он ли автор, а то как с git blame будет)
Anonymous
XD
Alexander
а bos
Alexander
он странный
Alexander
и на email не отвечает
Leonid 🦇
double-conversion этож гугловская хрень на плюсах
Alexander
точно форкну на zurihac все
Alexander
https://hackage.haskell.org/package/double-conversion-2.0.2.0
Alexander
на через гугловую
Anonymous
Ну хз, вообще эта библиотека - биндинг к гугловской сишной, если я правильно помню.
Я просто на ней давно остановился и использую, но меня недавно стали терзать сомнения....
Leonid 🦇
https://github.com/bos/double-conversion/tree/master/double-conversion йеп
Alexander
ну логично, что байтостроковая версия медленнее
Alexander
там же не билдер
Alexander
а если мы будем на каждый чих мелочи аллоцировать то, то и получим
Leonid 🦇
видимо там std::string
Alexander
convert :: String -> CInt -> (CDouble -> Ptr Word8 -> IO CInt)
-> Double -> ByteString
convert func len act val = unsafePerformIO $ do
fp <- mallocByteString (fromIntegral len)
size <- withForeignPtr fp $ act (realToFrac val)
when (size == -1) .
fail $ "Data.Double.Conversion.ByteString." ++ func ++
": conversion failed (invalid precision requested)"
return $ PS fp 0 (fromIntegral size)
Alexander
ничего не мешает fixed минимум через билдер делать
A64m
пакет осалливана в 2008:
быстрый, качественный, хорошо поддерживается
пакет осалливана в 2018:
тормозной, убогий, не поддерживается
Alexander
просто между 2008 и 2018 он не менялся
Leonid 🦇
хорошо хоть билдится
A64m
ну да, ожидания выросли просто
Alexander
т.к. он успел комеинтенеров добавить
Alexander
вот серьезно, что с resource-pool делать?
Anonymous
С чем?
Alexander
померять рабочий проект, сказать что вот 4% CPU на пустом месте жрётся, давайте форкать