Anonymous
что качать?
Alexander
ось?
Alexander
на винде мне стек понравился больше всего
Anonymous
ось?
windows 10
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
A64m
только инстуркцию по тому как билдить для него хаскельный сервис надо смотреть на гитхабе этого проекта, в описании плагина старая версия
Зигохистоморфный
да, там мультиверсии теперь) и еще 8.4 появился
A64m
да там уже с того начинается что git clone надо с --recursive
Зигохистоморфный
ну да, сабмодули же
Alexander
так map (either f id) как на линзах?
Anonymous
дуратский РКН, приходится через ВПН скачивать
Anonymous
Anonymous
куда
A64m
each . _Left %~ f
A64m
если я не перепутал параметры either конечно
Anonymous
что меня больше всего пугает в хаскеле так это туева куча операторов
Зигохистоморфный
так map (either f id) как на линзах?
какой нибудь over _Left?
Зигохистоморфный
чет у меня тормозит телега
Зигохистоморфный
Alexander
ну ваш аналог РКН
Anonymous
Кстате, а чем быстрее всего переводить цифирки в текст?
Anonymous
ну ваш аналог РКН
серьёзно? УКН? я думал я выдумал это название
Anonymous
Я пользую double-conversion
Anonymous
Но он тока с double работает
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 на пустом месте жрётся, давайте форкать