История изменений
Исправление monk, (текущая версия) :
Неправильно! Монада в программировании - это абстракция связывания вычислений.
Это где такое определение? Интуитивное определение — штука с состоянием, позволяюющая указывать вычисления изменяющие это состояние.
И в этом смысле
thirdConfigs bd = do
bd1 <- nextConfigs bd
bd2 <- nextConfigs bd1
bd3 <- nextConfigs bd2
return bd3
Вполне себе описание последовательности состояний списка. Или list comprehension (это к вопросу «зачем полседовательность состояний списку?»).
Кстати, аналогично, Iterable в некоторых языках определён для всех классов. Действие по-умолчанию — перебор полей объекта. Тоже будешь говорить, что это неверно и конструкция foreach (field in rabbit) не должна существовать?
Исходная версия monk, :
Неправильно! Монада в программировании - это абстракция связывания вычислений.
Это где такое определение? Интуитивное определение — штука с состоянием, позволяюющая указывать вычисления изменяющие это состояние.
И в этом смысле
thirdConfigs bd = do
bd1 <- nextConfigs bd
bd2 <- nextConfigs bd1
bd3 <- nextConfigs bd2
return bd3
Вполне себе описание последовательности состояний списка. Или list comprehension (это к вопросу «зачем полседовательность состояний списку?»).
Кстати, аналогично, Iterable во некоторых языках определён для всех классов. Действие по-умолчанию — перебор полей объекта. Тоже будешь говорить, что это неверно и конструкция foreach (field in rabbit) не должна существовать?