Size: a a a

Emacs — русскоговорящее сообщество

2020 May 16

A

Aragaer in Emacs — русскоговорящее сообщество
разницу вижу, но не вижу причины ради этого делать целую функцию
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
хорошо, а если заменить m на Maybe?
источник

A

Aragaer in Emacs — русскоговорящее сообщество
ну да, я на нее и заменяю, потому что не знаю других монад
источник

A

Aragaer in Emacs — русскоговорящее сообщество
ну то есть понятно, что между [Maybe b] и Maybe [b] есть разница, но почему для этого нужна целая специальная функция?
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
они по разному себя ведут, это не повод?
источник

A

Aragaer in Emacs — русскоговорящее сообщество
с помощью первой можно эмулировать вторую
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
проэмулируй
источник

A

Aragaer in Emacs — русскоговорящее сообщество
ну как - идем по списку [a] и вызываем функцию a -> m b. Если попалось Nothing, то весь результат это Nothing, а если Just b, то добавляем b в список результата
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
таак, а теперь напиши это с помощью map
источник

A

Aragaer in Emacs — русскоговорящее сообщество
ну я не знаю хаскелевского аналога для такого, но в питоне бы это выглядело примерно так
result = map(f, a)
if all(result):
   return result
return None
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
но тогда ты вызовешь f для каждого элемента a, а mapM нет
источник

A

Aragaer in Emacs — русскоговорящее сообщество
ну тогда я просто сделаю цикл
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
а в хаскеле нету циклов, но есть mapM
источник

A

Aragaer in Emacs — русскоговорящее сообщество
ну в хаскеле есть рекурсия
источник

A

Aragaer in Emacs — русскоговорящее сообщество
ну и тем не менее - получается, что использование монад приводит к необходимости использовать для них специальные функции. Но это не отвечает на вопрос "а зачем их вообще использовать"
источник

A

Artem in Emacs — русскоговорящее сообщество
источник

PG

Pig Greenest in Emacs — русскоговорящее сообщество
можешь написать рекурсивно, но зачем это делать каждый раз, если уже есть mapM?
источник

A

Artem in Emacs — русскоговорящее сообщество
источник

A

Aragaer in Emacs — русскоговорящее сообщество
/me нашел на стековерфлоу вопрос "зачем нужны монады" и обнаружил, что уже поставил апвоут ответу
источник

S

Shizoid in Emacs — русскоговорящее сообщество
aragaer нашел на стековерфлоу вопрос "зачем нужны монады" и обнаружил, что уже поставил апвоут ответу
источник