http://habrahabr.ru/post/247997/
(+)
http://habrahabr.ru/post/183150/#comment_6362554 ("Как я уложил монады у себя в голове:
Монада — это виртуальная машина которая исполняет ваш код. Не зря ведь говорится, что код исполняется «в монаде». Она может быть написана самостоятельно или взята из библиотеки.
Признаком того, что сейчас у нас работает именно эта монада, является тот самый контейнерный тип данных, который ей соответствует. Поэтому вызовы >>= и Return (благодаря полиморфизму) будут использовать реализацию из неё.
Получив вызов >>=, монада определяет, каким образом исполнять следующую команду (функцию), т.е. работает в точности как процессор в компьютере.
Кроме того, в этом контейнере хранится служебная информация для самой виртуальной машины (вроде состояния в монаде State).
Проверка типов самого языка контролирует корректный вход и выход из монады. Вот и всё.")
(+)
http://habrahabr.ru/post/183150/#comment_6362554 ("Как я уложил монады у себя в голове:
Монада — это виртуальная машина которая исполняет ваш код. Не зря ведь говорится, что код исполняется «в монаде». Она может быть написана самостоятельно или взята из библиотеки.
Признаком того, что сейчас у нас работает именно эта монада, является тот самый контейнерный тип данных, который ей соответствует. Поэтому вызовы >>= и Return (благодаря полиморфизму) будут использовать реализацию из неё.
Получив вызов >>=, монада определяет, каким образом исполнять следующую команду (функцию), т.е. работает в точности как процессор в компьютере.
Кроме того, в этом контейнере хранится служебная информация для самой виртуальной машины (вроде состояния в монаде State).
Проверка типов самого языка контролирует корректный вход и выход из монады. Вот и всё.")
Комментариев нет:
Отправить комментарий