Size: a a a

2018 December 03

ŹR

Źmićer Rubinštejn in pro.elixir
with - это же монада
источник

ŹR

Źmićer Rubinštejn in pro.elixir
{:ok, value} | {:error, reason} - тоже
источник

ŹR

Źmićer Rubinštejn in pro.elixir
В чем тогда вопрос "используете ли вы монады в эликсире"?
источник

YZ

Yuri Zhloba in pro.elixir
Dmitry
К вечному вопросу о монадах. Есть те кто в продакшене использует их в elixir? И если да, то зачем вы это делаете? Я понимаю в хаскелл это часть языка и там без этого никак. Но они ведь реально усложняют чтение кода. Есть реальная необходимость в их использовании?
Альтернатива монадам - - исключения. Они улучшают чтение кода? :)
источник

D

Dmitry in pro.elixir
одназначно улучшают
источник

AM

Azat Murtazin in pro.elixir
У Пелевина в книжке Generation Пи было что про монады
источник

D

Dmitry in pro.elixir
может не оч. красиво иметь много rescue, но код понятнее
источник

YZ

Yuri Zhloba in pro.elixir
Может, это просто вопрос привычки. Исключениями пользовались, и привыкли. А монадами не пользовались, и не привыкли.
источник

Е

Евгений in pro.elixir
Źmićer Rubinštejn
В чем тогда вопрос "используете ли вы монады в эликсире"?
еще скажи, что точка с запятой в Java - это тоже монада, а следовательно монады нужны в Java :D
источник

D

Dmitry in pro.elixir
Yuri Zhloba
Может, это просто вопрос привычки. Исключениями пользовались, и привыкли. А монадами не пользовались, и не привыкли.
ну вот и вопрос. а надо пользоваться вообще? а то неуютно себя чувствую. все про них говорят, а я их не использую
источник

D

Dmitry in pro.elixir
не в тренде короче
источник

YZ

Yuri Zhloba in pro.elixir
Исключения концептуально похожи на goto. Оно, конечно, клева, переместиться из любого места программы. Пока не столкнешься с ситуацией, когда не понимаешь, откуда именно сюда переместилось выполнение :)
источник

Е

Евгений in pro.elixir
Źmićer Rubinštejn
{:ok, value} | {:error, reason} - тоже
в хаскельном понимании это разве можно считать монадой? монады это то что в вичкрафтах понапихано.
источник

YZ

Yuri Zhloba in pro.elixir
Dmitry
ну вот и вопрос. а надо пользоваться вообще? а то неуютно себя чувствую. все про них говорят, а я их не использую
Не желательно, если это не принято большинством разработчиков на данном языке.
источник

YZ

Yuri Zhloba in pro.elixir
Или, хотя бы, в твоей команде
источник

YZ

Yuri Zhloba in pro.elixir
А разобраться не лишне. Расширяет кругозор :)
источник

Е

Евгений in pro.elixir
Yuri Zhloba
Исключения концептуально похожи на goto. Оно, конечно, клева, переместиться из любого места программы. Пока не столкнешься с ситуацией, когда не понимаешь, откуда именно сюда переместилось выполнение :)
with тоже логически похожи на goto, выполнение "прерывается" и прыгает куда-то в хвост. Мы конечно знаем, что где-то внутри в кишках, оно не прыгает, а просто байпасится, но внешне все выглядит как то же исключение.
источник

D

Dmitry in pro.elixir
ну для кругозора то ладно. а с практической точки зрения. ну вот собрались командой и решили - давайте юзать монады. кроме красивых логических цепочек у них есть еще достоинства?
источник

YZ

Yuri Zhloba in pro.elixir
Евгений
with тоже логически похожи на goto, выполнение "прерывается" и прыгает куда-то в хвост. Мы конечно знаем, что где-то внутри в кишках, оно не прыгает, а просто байпасится, но внешне все выглядит как то же исключение.
Но это в пределах одной функции. А исключения прыгают из любого модуля в любой другой модуль :)
источник

Е

Евгений in pro.elixir
некоторые монады встроены в сам эликсир, вроде with или даже той же do-нотации, почему бы ими и не пользоваться? А вот городить по аналогии с хаскелем - нет смысла
источник