LINUX.ORG.RU

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

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

Потому, что математики определили монаду именно так. А если у тебя какая-то хрень типизирована как монада, но не ассоциативна (где надо) — то это не монада, хотя и может быть воткнута в хаскельный do syntax.

Кстати:

1. Вот https://wiki.haskell.org/Monad_laws

2. В случае с монадой, предложенной Laz можно *определить* bind(f) исходя из ассоциативности. И это вроде прокатит.

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

Потому, что математики определили монаду именно так. А если у тебя какая-то хрень типизирована как монада, но не ассоциативна (где надо) — то это не монада, хотя и может быть воткнута в хасельный do-syntax.

Кстати:

1. Вот https://wiki.haskell.org/Monad_laws

2. В случае с монадой, предложенной Laz можно *определить* bind(f) исходя из ассоциативности. И это вроде прокатит.