Size: a a a

2021 March 28

L

Lierdakil in Haskell
Там если ApplicativeDo могут быть варианты поинтереснее
источник

O

Ortofax in Haskell
у них разный приоритет, так что наверно лучше не надо их мешать
источник

O

Ortofax in Haskell
у >> и >>= 1, у *> 4
источник

O

Ortofax in Haskell
можно ещё переписать как-то как vals >>= guard . test $> val, но станет менее эффективно
источник

[

[BRM]White Rabbit in Haskell
кана
>> не кононичный же, это вроде такое же легаси как и return
Возможно я - небазированный чумба, который пришёл с императивных яп, но для меня каноничный выход из ду-нотации это всё же return, потому что он больше по смысловому контексту подходит🙃
источник

O

Ortofax in Haskell
(vals >>= guard . test) *> pure val
источник

к

кана in Haskell
это было бы валидно, если бы из ду-нотации был бы выход)
источник

L

Lierdakil in Haskell
[BRM]White Rabbit
Возможно я - небазированный чумба, который пришёл с императивных яп, но для меня каноничный выход из ду-нотации это всё же return, потому что он больше по смысловому контексту подходит🙃
Нет выхода из ду-нотации. Последнее выражение всегда выход. Хоть с return хоть без
источник

[

[BRM]White Rabbit in Haskell
А если, к примеру, надо вставить в середину приведённое к монаде значение, то тут да, тут pure
источник

L

Lierdakil in Haskell
A return = pure. И все понимают вроде что return неудачное название, много непонимания у императивщиков вызывает.
источник

[

[BRM]White Rabbit in Haskell
Lierdakil
Нет выхода из ду-нотации. Последнее выражение всегда выход. Хоть с return хоть без
Ну, я имею "выход из do-нотации с поднятием результата в контекст монады"
источник

к

кана in Haskell
x = do
 return 1
 return 2

первый return ниоткуда не выйдет. return это просто плохое имя, что уже пофиксили, и остается он только для обратной совместимости
источник

L

Lierdakil in Haskell
Но легаси такое легаси
источник

L

Lierdakil in Haskell
Я вот тоже по привычке частенько return пишу. Хотя не стоило бы.
источник

L

Lierdakil in Haskell
Но я -то привык что это не С и return это pure. А вот с непривычки кажется что "ну это как в си", хотя на самом деле совсем, совсем нет
источник

[

[BRM]White Rabbit in Haskell
Ну в общем если мне понадобится поднять в монадический контекст значение в конце монады, то я буду использовать return, а на всех других строчках и вне do - pure 🌚
источник

L

Lierdakil in Haskell
[BRM]White Rabbit
Ну в общем если мне понадобится поднять в монадический контекст значение в конце монады, то я буду использовать return, а на всех других строчках и вне do - pure 🌚
Отличный способ запутать человека непривычного к хаскелу! Одобряю. Если цель такая конечно.
источник

[

[BRM]White Rabbit in Haskell
Такая-такая
источник

[

[BRM]White Rabbit in Haskell
А ты думал, в сказку попал?
источник

к

кана in Haskell
[BRM]White Rabbit
Ну в общем если мне понадобится поднять в монадический контекст значение в конце монады, то я буду использовать return, а на всех других строчках и вне do - pure 🌚
ну, осуждаю, потому что все еще думаю что это в голове неправильная интуиция у тебя, но че поделать

в конце логичен pure как раз потому что ты поднимаешь значение до монады, а не возвращаешь его. В доке return тоже прописан как "Inject a value into the monadic type." и все, никакого возврата
источник