Здравствуйте, gandjustas, Вы писали:
G>Этот паттерн состоит из трех частей — монадного типа M<T> , функции bind и фукнции return.
Как раз о чем я в первом посте и написал.
G>bind и return должны подчинаться трем монадным законам.
Каким? Они не могут причинить вред программисту, должны ему подчиняться и заботиться о своей корректности?
G>Но сам по себе паттерн "монада" был бы не нужен никому, если бы не поддержка в языках.
G>Формальное определение паттерна позволяет в языки встроить "монадный синтаксис" (aka do-нотация, aka linq). Этот синтаксис позволяет вложенные вызовы bind записывать в линейной форме.
А можно простой пример на псевдокоде? "Вот так — без монад, а вот так — с монадами, писанины в 3 раза меньше".