Size: a a a

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

2020 May 16

A

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

PG

Pig Greenest in Emacs — русскоговорящее сообщество
Maybe частный случай монады
источник

A

Aragaer in Emacs — русскоговорящее сообщество
ну то есть условно в расте я пишу так:
x = SomethingThatReturnsOption;
if x == None {
   return None;
}
Some(value) = x;
y = SomethingElse(value);
источник

A

Aragaer in Emacs — русскоговорящее сообщество
или предполагается дальше этот None тащить церез цепочку .map(SomethingElse)?
источник

PG

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

PG

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

A

Aragaer in Emacs — русскоговорящее сообщество
не-не, я вот про конкретное. Не написать, а использовать
источник

A

Aragaer in Emacs — русскоговорящее сообщество
пусть у меня есть функция f, которая берет X и возвращает Maybe Y, и есть функция g, которая берет Y и возвращает Z
источник

A

Aragaer in Emacs — русскоговорящее сообщество
и я хочу написать функцию, которая возвращает Maybe Z
источник

A

Aragaer in Emacs — русскоговорящее сообщество
f :: X -> Maybe Y
g :: Y -> Z
источник

A

Artem in Emacs — русскоговорящее сообщество
нет, f : X -> Maybe Y

Хаскелисты — еретики.
источник

A

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

A

Aragaer in Emacs — русскоговорящее сообщество
я человек простой, поэтому я вызываю f, смотрю результат. Если Nothing, то его и вернуть, а если нет, то развернуть и сунуть в g и результат завернуть в Just
источник

A

Artem in Emacs — русскоговорящее сообщество
Aragaer
и я хочу написать функцию, которая возвращает Maybe Z
Напиши реализацию под Nothing и Just отдельно.
источник

A

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

A

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

A

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

A

Aragaer in Emacs — русскоговорящее сообщество
ну вот условно, типичный такой сишный пример
источник

A

Artem in Emacs — русскоговорящее сообщество
map _ Nothing = Nothing
map f Just a = Just f a
источник

A

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