О монадических законах...

Feb 07, 2011 13:56

Как известно, в минимум хаскелера второго уровня силы входит некое сочинение о понимании монад. Что же, вот моя небольшая заметка на эту тему. Как известно монадой является не всякий тип для которого сделан instance в Monad и определены (>>=) и return, но только такой для которого ещё и выполняются три особых монадических закона (которые компилятор ( Read more... )

лженаука, geek, мифология

Leave a comment

Comments 4

nivanych March 4 2011, 05:50:54 UTC
> определены (>>=) и return

По моему, совершенно нескромному мнению, для лучшего понимания, монады надо изучать, не как bind-return, а как join-return.
Так гораздо проще понять монадические равенства и так гораздо ближе к классике категорного определения.
А для полного понимания, надо изучить, что такое сопряжённые (adjoint) функторы.
Заодно, и понимание комонад достанется "нахаляву".

P.S.
А в том посте - заскучал уже, поди? ;-)
Ответить этому товарищу что-нибудь, что ли...
Или попрактиковаться в "Lugovsky-style"? ;-)

Reply

nikita_timofeev March 4 2011, 13:49:21 UTC
Через join, fmap и return очень классно рассматривались монады как контейнеры (не могу припомнить где, но даже в русскоязычном интернете). Но в классе Monad объявлены именно (>>=) и return (не совсем понятно почему).

Теория категорий остаётся за гранью моего понимания. Причина проста: химикам её не давали, а сам я просто не представляю с кого края подойти к вопросу.

Лично мне кажется, что goron_dekar неизлечим поскольку не считает себя больным. Он сишник работающий с микроконтроллерами и мечтающий чтобы типы данных описывались как in, где n - число бит, а компилятор не должен отслеживать типы вовсе. Подозреваю что для программ его размера он прав, а убедить его в том что он слишком самонадеянно обобщает свой подход на системы с более сложной логикой ещё никому не удалось.

Есть кстати какой-нибудь потомок ML который влезет в arm с 64K памяти программы и 1 - 64K памяти данных?

Reply

nivanych March 4 2011, 15:22:19 UTC
> монады как контейнеры не могу припомнить где ( ... )

Reply

nivanych March 4 2011, 15:22:38 UTC
> потомок ML ( ... )

Reply


Leave a comment

Up