LINUX.ORG.RU

История изменений

Исправление x3al, (текущая версия) :

Эмм. Допустим, у тебя есть массив a = [0, 1, 2]; и функция square(x) { return x * 2; }. Что ты сделаешь для того, чтобы заставить square(x) работать с массивом a, не меняя функцию? И чтобы та же функция заработала с, допустим, Maybe(1)?

Суть монад в том, что ты определяешь себе bind/map/lift/что_угодно и после этого твои функции работают с чем угодно.

Исходная версия x3al, :

Эмм. Допустим, у тебя есть массив a = [0, 1, 2]; и функция square(x) { return x * 2; }. Что ты сделаешь для того, чтобы заставить f(x) работать с массивом a, не меняя функцию? И чтобы та же функция заработала с, допустим, Maybe(1)?

Суть монад в том, что ты определяешь себе bind/map/lift/что_угодно и после этого твои функции работают с чем угодно.