Alexander
Да
Alexander
Кстати, return или pure?
Антон
Теорема Эскобара
Кабачок
A64m
Кстати, return или pure?
в апликативных выражениях pure в do нотации return
Denis
pure эффективнее на две буквы
Alexander
Но зачем в do-нотации return, если pure и чище, и семантически ближе?
Кабачок
pure эффективнее на две буквы
Две сэкономленные буквы этому господину
Denis
Семантически они оба хрень какая-то на постном масле, а pure еще и не прилагательное. Но зато он на две буквы короче и поэтому победил.
Кабачок
А ещё он новичков не путает
A64m
да какая разница, при наборе все набирается тремя буквами, а читается все одним куском
Leonid 🦇
А что с этим можно сделать?
Нужно писать servant-cli, как у жсеров
A64m
надо нормальные библиотеки просто писать, чтоб без бойлерпелейта, как в кложе
Alexander
pure кстати мне не оч
Alexander
а теперь мы создадим эффект с помощью pure
Alexander
ня!
A64m
вообще вместо return надо монад компрехеншоны использовать, а вместо pure идиом брекеты
A64m
а теперь мы создадим эффект с помощью pure
так наоборот он же означает "для этого параметра без эффектов"
Alexander
ну он говорит, что его параметр без эффектов
Alexander
отличнненько
A64m
т.е. в рамках аппликативной гусеницы он логичен
Alexander
ну да
Vasiliy
а что за монад компрехеншоны? %) upd: загуглил https://ncatlab.org/nlab/files/WadlerMonads.pdf
Alexander
Воу-воу, откуда такая любовь к return? Он вводит в заблуждение новичков. Встречаешь ты такой return в середине do-блока, и думаешь: тут, что, функция завершается, что ли
Alexander
@dshevchenko ты отстаешь от bravit на 300 твитов, это где-то чуть больше, чем ты написал. без темы про гендеры не обойтись будет..
Oleg
μ выигрывает и по длине и по семантике
Alexander
только требует конфиг редактора или оси
Alexander
а так да
Alexander
т.е. ещё по национальности ограничения?
Антон
Национализм в Хаскелле
Alexander
интерсно, а кто-нить реально будет читать код проекта irc-simple
Alexander
надо потом незаметно поменять текстовый протокол на protobuf убрать часть логики privmsg и сделать pub-sub сервисом, non-persistent
Зигохистоморфный
@A64m_qb0 https://mpickering.github.io/posts/2018-03-20-recordsvstypeclasses.html https://github.com/mpickering/rtcwrao-benchmarks
Alexander
нам как раз такой нужен
Andrew
Я немного пробежался, но у меня вечер, не хочу загружать еще больше голову. А так, интересно
Alex
Привет!
Alex
Я слышал что вы тут новис френдли
Alex
И у меня соответсвенно вопрос
Alex
Куда прописывать зависимость сервента
Alex
В кабал или стак?
Кабачок
В кабал, если используешь версию из снапшота, в стак в противном случае
A64m
в кабал в любом случае, если нету в снапшоте, то еще и в стек
Alex
Где можно почитать почему так
Alex
????
Alex
Ну или если не сложно объясните тут пожалуйста
кана
в документации стака
кана
там правда обновили уже инфу до hpack
A64m
в кабал файле описываются зависимости, в стек файле - окружение, в котором их ищут
кана
https://docs.haskellstack.org/en/stable/stack_yaml_vs_cabal_package_file/#why-specify-deps-twice
Oleg
а если кто-то использует package.yaml, он обречён на что-то?
A64m
т.е. вот у нас пакет, он зависит от чего-то с такими-то диапазонами версий, это для распространения и использования. а вот стек файл, который задает конкретные версии для всего, чтобы вы вот сейчас могли сбилдить и потом это точно воспроизвести
A64m
а если кто-то использует package.yaml, он обречён на что-то?
это описания для генератора кабалового файла
A64m
со всеми понятными последствиями
Alex
Ага
Alex
Кажется я понял
Alex
И еще один вопрос
Alex
Где лучше указывать зависимости? В library или executable?
A64m
их и там и там надо указывать, это отдельные списки зависимостей
Alex
То есть
Alex
У меня есть зависимость
Alex
И я должен тянуть её и туда и туда?
Denis
указать надо и там, и там
Denis
а тянуть - один раз
Alex
Хм
Alex
Это несколько необычно
Alex
А почему так?
Denis
впрочем, если стеком не пользоваться, то и указывать не надо
Denis
ну на самом деле если просто пакет зависит от серванта, то только в .cabal надо
Denis
в каждом из таргетов
Denis
если library и executable - в обоих
Denis
если только один, то только в одном
Alex
Спасибо:)
кана
Где лучше указывать зависимости? В library или executable?
если зависимость для кода в src, то library, если для app, то executable, это же разные списки для разных мест
Alex
WARNING: /mnt/d/Programming/Haskell/LKP/LKPBACK/LKPBACK.cabal was modified manually. Ignoring package.yaml in favor of cabal file. If you want to use package.yaml instead of the cabal file, then please delete the cabal file.
Alex
Я немного не понял
Alex
почему оно ругается