История изменений
Исправление Macil, (текущая версия) :
монады - лишние сущности
Вот оказывается как! Только... Только почему тогда их везде, где только можно лепят?
Например, f.foo().bar().baz()
— устойчивый ООП-стиль.
Некоторые особо упертые еще идут еще дальше:
f.foo(function(f){f.bar(function(b){b.baz(...){...}})})
Любая сущность, для которой есть операция композиции — потенциальный кандидат на instance Monad. А операция композиции есть почти всегда, например те же копирующие конструкторы в C++.
Исходная версия Macil, :
монады - лишние сущности
Вот оказывается как! Только... Только почему тогда их везде, где только можно лепят?
Например, f.foo().bar().baz()
— устойчивый ООП-стиль.
Некоторые особо упертые еще идут еще дальше:
f.foo(function(f){f.bar(function(b){b.baz(...)})})
Любая сущность, для которой есть операция композиции — потенциальный кандидат на instance Monad. А операция композиции есть почти всегда, например те же копирующие конструкторы в C++.