Alexander
если на другой стороне пайпы md5sum то со сплайсами быстрее
分解物質
оо
Alexander
так стоп похоже комп под какой-то нагрузкой
Alexander
нестабильные результаты
Alexander
нет не лучше
Alexander
в общем дальше только умные массивы в haskell но не сегодня
Alexander
и пытаться оформить мысли о том какую библиотеку для io я хочу видеть
Alexander
вот Stream (Of ByteString) m a выглядит как тип близкий к правильному, но все эти стриминги тащат оверхед
Alexander
и не факт, что решают правильно вопрос умного fold-а, т.е. создания консьюмера куда все класть
A64m
стриминги это полная противоположность такого подхода
Alexander
ну смотри, если вместо LBS/Builder возвращать Stream, это же похоже получается?
A64m
но оверхед там вроде байтстрингового, немного побольше
Alexander
я наверняка где-то туплю, поэтому оспаривать меня желательно
A64m
стриминг и похож на LBS , это список. А умный консьюмер это что-то вроде FoldM из пакета foldl
A64m
но они по отдельности и неполноценные, чтоб нормальный ИО сделать надо и стриминг и фолдл
Alexander
да, но видимо надо и то и другое
Alexander
иначе оно не будет работать хорошо
Alexander
ага
分解物質
Alexander
не знаю у меня сегодня был день splice
Alexander
я понял комментарий про ioctl
Alexander
о, прогресс
Alexander
2.21 vs 2.04
Alexander
если в md5
Alexander
хм.. твоё кстати мою версию обгоняет
分解物質
Alexander
write без проверки на запись нечестно (хоть и не влияет)
分解物質
Igor
Народ, объясните (дайте ссылку на статью/доклад)
“Как (думать) проектировать в ФП программы с сайд эфектами,
если всю жизнь писал ООП/императивно?”
Т.е. я чувствую что надо:
- Объявить типы доменной области
- Сделать pure фукнции, для бизнес логики
... (дальше затык)
А что дальше? Когда прикручить IO?
Рука ведь так и тянется к IO/do и императивному программированию.
Alexander
когда в типах функций появится IO?
Alexander
ну или MonadIO m?
Igor
(если ты мне…) Ну да IO монада/putStrLn и тд
Хотя я образно, тк пишу на OCaml и там еще проще начать императивничать.
Alexander
@yellow_apple прикольно поидее решения об одном и том же, но у тебя аккуратнее
eahqzsr
eahqzsr
Ты вообще снизу вверх думаешь. А надо сверху вниз.
eahqzsr
Что твоя программа вообще делает?
Igor
Что твоя программа вообще делает?
Какая разница?
Сейчас это бэкенд, который картинки пережимает, завтра я буду делать мобильное приложение с Elm архитектурой.
Может у тебя есть подходящая статья?
eahqzsr
Если у тебя приложения "какая разница", то писать можно "как угодно".
eahqzsr
В хаскеле нужно продумать какие у тебя сайд-эффекты будут, потому что от этого архитектура строится. Потому что сайд-эффекты явно объявляются через типы.
Alexander
@yellow_apple обогнал
Alexander
но мне нужно заплатить за инет чтобы выложить
Alexander
щас попробую через телефон
Alexander
0.49 vs 0.43
Igor
Alexander
щас положу новое
Alexander
@yellow_apple https://gist.githubusercontent.com/yellow-apple/69993c04f8d9afc0d72c56f27e55187f/raw/d55db70fedda2f8c5fde0992fad7ea781df806be/a.c
Alexander
ой
Alexander
не то
Alexander
: https://paste.pound-python.org/show/fCwlugUYFlovU8Deoat4/
Alexander
точно хочешь статьей?
Alexander
чтож за день ничего не вспомнить
eahqzsr
Alexander
как у эллиота статья звалась по теме?
A64m
@qnikst Denotational design with type class morphisms? Отличный троллинг
Alexander
да. оно!
Alexander
@yellow_apple там выше слегка зареорделились сообщения, но ссылка есть
Alexander
@angmarr вопрос очень общий ответить каким-то магическим рецептом нельзя
Alexander
вон статья выше предлагает, можно ради интереса ознакомиться
A64m
Alexander
выглядит как pact
Alexander
просто пишешь типы функций сверху вниз или из додменной области наружу
Alexander
в какой-то момент в типах появится ввод вывод
Alexander
никуда о нем думать не надо, как появится так и надо
Alexander
ну разве спрашивать себя, могу ли я разумным способом поставить его ближе к краю программы
Alexander
про функторы норм вопрос
Igor
eahqzsr
О какой конторе?
Alexander
пакт
Alexander
там очень помоешная литература
Alexander
может это и не пакт но обложна ни их похожа
eahqzsr
Ну там много косяков но много интересного. Real world haskell как классика, там хорошее введение в язык.
Dmitry
0.82
Denis
packt вообще дерьмище редкостное
Alexander
0.82 это новое время?
Dmitry
ага
Dmitry
это норм? тут были прорывы какие-то, пока я был в ауте?