Со времени работы Эухенио Могги произошел ряд разработок, касающихся использования монад в теории вычислений. Я не могу дать исчерпывающий отчет, но вот некоторые моменты, с которыми я знаком, другие могут ответить своими ответами.
Конкретные примеры монад
Вам не нужно постоянно изучать супер-общую теорию. Есть примеры монад, которые очень интересны и достаточно сложны, чтобы заполнить весь диплом бакалавра.
Мне очень нравится блог Дэна Пипони, где он приводит удивительные примеры того, как монады можно использовать для смешивания функционального программирования и математики. Ищите его работы на узлах и заплетайте монады, например.
Другой конкретный пример того, что стоит изучить, был приведен Мартином Эскардо и Пауло Оливой в контексте функционалов выбора, их функций выбора, рекурсии и обратной индукции или, возможно, чтобы заинтересоваться, сначала прочитайте « Что такое последовательные игры», «Теорема Тихонова» и Сдвиг двойного отрицания имеет в общем (связанные файлы Haskell и Agda здесь ).
Математическое обоснование
Монады происходят из теории категорий и намного старше, чем Эудженио Могги. Вы можете изучить фоновую теорию, если вы склонны к математике. Например, вы можете атаковать теорему Бека о монадичности . Теоретик-компьютерщик никогда не знает слишком много математики.
Вариации на тему
Вы можете посмотреть на то, что не строго монады.
Например, « Идиомы» Коннора Макбрайда и Росса Патерсона : аппликативное программирование с эффектами показывает, как можно обобщить монады к чему-то, что практически уместно и проницательно.
Или вы можете посмотреть, как комонады используются для моделирования вычислительных эффектов. Кто-то должен предложить некоторые ссылки на эту тему, но хорошим началом могут быть слайды Дэвида Обертоне .
Теория модальных типов
В теории гомотопических типов, а также в теории типов в целом монады появляются в форме теории модальных типов . Недавно теория модального типа была рассмотрена в теории гомотопического типа, потому что операторы усечения являются примерами модальных операторов. Кроме того, существует связная теория гомотопического типа, в которой модальные операторы (которые являются монадами) играют существенную роль.
Алгебраические эффекты и обработчики
[Отказ от ответственности: частично дует мой собственный рог здесь.]
Некоторое время назад Гордон Плоткин и Джон Пауэр наблюдали, что многие вычислительные эффекты - это не просто какие-либо монады, а специальные монады, возникающие из алгебраических теорий. Это привело к совершенно новой обработке вычислительных эффектов, известных как алгебраические эффекты . Позже Гордон Плоткин и Матия Претнар представили обработчики, и вместе с алгебраическими эффектами они образуют очень хорошую теорию вычислительных эффектов. Одним из преимуществ этого подхода является то, что алгебраические теории могут быть легко объединены, а монады - нет.
Вы могли бы изучить, как именно алгебраические эффекты относятся к монадам. Вы можете посмотреть, как люди реализуют алгебраические эффекты и обработчики, скажем, на языке Eff или в Haskell в виде библиотеки . Это более или менее актуальное исследование.