Когда я развиваю понимание какой-то концепции, я нахожу очень неудовлетворительным, чтобы не видеть, как очевидная этимология названия концепции связана с тем, что я думаю, что я понимаю концепцию. Если я не вижу связи, у меня остается ощущение, что там есть какое-то существенное понимание, которое имя пытается передать, которое я еще не обнаружил.
Монада: от греческого к единству. Mon = один; ad = группа или единица, содержащая определенное число. Это состоит из "группы или единицы, состоящей из одной вещи".
http://www.haskell.org/haskellwiki/All_About_Monads говорит:
"Монада - способ структурирования вычислений в терминах значений и последовательностей вычислений с использованием этих значений. Монады позволяют программисту строить вычисления с использованием последовательных строительных блоков, которые сами по себе могут быть последовательностями вычислений".... "Существуют другие монады для построения вычислений, которые выполняют операции ввода-вывода, имеют состояние, могут возвращать несколько результатов и т.д."
Ничего особенного в одном.
http://www.haskell.org/haskellwiki/Monad утверждает, что односторонность в терминах монады относится к одному результату, который будет производить монада. Но, учитывая, что любая функция производит один вывод, (и приведенная выше ссылка говорит "может возвращать несколько результатов", не говоря уже о результатах внеполосных/ошибок), и ничего о "группе или блоке" нет, это объяснение кажется неубедительным.
Есть ли какое-то лучшее объяснение?
[Изменить: ответ на флаг "вне темы". Мой вопрос заключается не в этимологии слова "монада" как таковой. Речь идет о концепции монады Хаскелла и о том, как корни слова монада делают или не сообщают нам об этом понятии или, возможно, фактически неверно направляют нас от понимания темы. Учитывая, что монада - это классно сложная идея в Haskell, это, безусловно, вопрос о программировании.
То, что это важная проблема, подкрепляется вариацией предложений респондентов относительно того, как корни в "монаде" могут относиться к обсуждаемой теме, включая наблюдение, что объяснение в собственной документации Haskell очень подозрительно.
Тем не менее, я очень доволен ответами (спасибо всем!), поэтому нет необходимости повторно открывать тему. Но я защищал бы его не в другом месте, так что другие с такой же путаницей о важной концепции Хаскелла могут найти это здесь.]