Aleksei (astynax)
Так оно не чистое после pure
Aleksei (astynax)
В этом и поинт
кана
Я прекрасно понял его поинт
Aleksei (astynax)
text на выходе даёт Text
Dmitry
Aleksei (astynax)
"нечистое", это хорошо
A64m
A64m
в do-нотации, конечно, pure смотрится странно
kosc
pure вообще по идее должно извлекать, а не паковать.
A64m
не должно
kosc
pure m a = a
Aleksei (astynax)
(,) <$> dirty 42 <*> pure "Foo", даёшь больше псоевдоосмысленых имён!
kosc
Оно же пурифицирует!
Cheese
подразумевалось fromPure
Dmitry
И пусть холивар разразится в 100057383-й раз!
Ага, такое впечатление, что force для дискуссии вызывается, пробегает по списку уже вычисленного, ещё немного вычисляет, но как-то не до конца, потом снова обрывается. Видимо, лень
Слава
Суд постановил заблокировать телеграм.
Господа, VPN у всех есть? Или хотя бы socks5 прокси самодельная, как у меня.
Cheese
A64m
я не настроил
Darya
Слава
баян, всё настроили давно
В чате 700 участников. Предлагаю запинить сообщение о грядущей блокировке и необходимости ставить прокси/vpn в верх чата, чтобы до всех дошло.
@qnikst
Cheese
Aleksei (astynax)
Эт да
Aliester
Pavel
прям щас сижу через https://github.com/StreisandEffect/streisand
Alexander
ну если кто напишет внятную статью на которую можно дать ссылку - запиню
Aliester
вспоминая это и тепершнюю неграмотность о ключах парламентариев
Vladislav
A64m
слишком длииинннооо
Dmitry
Ну со сбербанковскими программистами действительно надо бороться
Vladislav
Сейчас бы на буквы размениваться
Aliester
Блокировка Telegram не навредит пользователям: они «воспользуются другими ресурсами или обойдут блокировку», заявил замглавы Минкомсвязи Алексей Волин.
Aliester
так обход блокировки вроде преступление же?
Vladislav
EnterpriseEffectfulValueFactory.fromPure
Dmitry
Не, рассказывание про это
A64m
вообще нужны идиом брекетс, где этот pure одной закорючкой будет
Ilya
Ю ли я? 🤔
Алексей
А почему название должно что-то означать?
A64m
ну в do блоке-то, имитирующем императивный код, как раз "возвращает"
кана
do
doThis 1
return 2
doThis 3
return 4
была бы это "имитация императивного языка", но 2 бы все закончилось, но тут return все же ничего не возвращает (и не возвращется по стеку) и мы идем дальше
имхо return - крайне неудачный нейминг, никогда его не использую, честно говоря даже забыл о его существовании на какое-то время
A64m
в таком - нет
A64m
но это неправильный код безотносительно того, что return "значит"
Влод
do
if a /= 0 then
print $ b / a
else
return ()
doSmt
return ()
Влод
исполнится ли doSmt если а равно нулю??
Leonid 🦇
do
unless (a == 0) . print $ b / a
() <$ doSmt
Влод
вроде бы нет ведь тут же ретурн
Влод
ну речь ведь про нейминг ретурна
Влод
так что видимо тот кто впервые встречается с таким названием
кана
Leonid 🦇
ну ретурн то не из блока а из выражения
Влод
да даже и не из выражения
Leonid 🦇
короче говорю правду как она есть - return не нужен.
Влод
кек
Влод
ну да каждое выражение возвращает что либо
Влод
справедливо
Влод
в том числе и ретурн
Влод
поэтому он так назван
Leonid 🦇
точнее из f *> return ()
Leonid 🦇
Leonid 🦇
и сейчас пишут не void $ f а () <$ f
Зигохистоморфный
Влод
Leonid 🦇
почему?
ну во первых void надо импортировать
Влод
ну то есть прям функция которая глушит возвращаемое значение - распространённый кейз и легко в кода понимаешь что происходит
Зигохистоморфный
Leonid 🦇
во вторых <$ можно специализировать, он часть тайпкласса
Влод
Leonid 🦇
void кстати есть в Control.Monad, который и так полюбасу импортируешь
Влод
особенно когда забыл что-то в кабале дописать и записываешь зависимость в несколько компонентов
и ещё эти сранные other-modules