З часу роботи Евгеніо Моджі було розроблено ряд розробок щодо використання монад у теорії обчислення. Я не в змозі дати вичерпну інформацію, але тут я знайомий з деякими моментами, а інші можуть зазвучити свої відповіді.
Конкретні приклади монад
Вам не доведеться весь час вивчати надзагальну теорію. Є приклади монад, які є дуже цікавими та досить складними, щоб заповнити всю дипломну роботу.
Мені дуже подобається блог Дена Піпоні, де він наводить дивовижні приклади того, як монади можна використовувати для поєднання функціонального програмування та математики. Шукайте, наприклад, його роботу по вузлах і косах через монади.
Ще один конкретний приклад мондів, які варто вивчити, наводили Мартін Ескардо та Пауло Оліва в контексті функцій вибору, дивіться їх функції вибору, бар-рекурсія та індукція назад , або, можливо, щоб зацікавити першими прочитати, які послідовні ігри, теорему Тихонофа та двічі Заперечення зрушення має загальний (пов'язаний Haskell і Agda файлів тут ).
Математичний фон
Монади походять з теорії категорій і значно старші за Євгеніо Модгі. Ви можете вивчити фонову теорію, якщо ви схильні до математики. Наприклад, ви можете напасти на теорему про монадичність Бека . Теоретик-теоретик ніколи не може знати занадто багато математики.
Варіації на тему
Ви могли подивитися на щось, що не є суворо монадою.
Наприклад, « Ідіоми» Коннора МакБрайда та Росса Патерсона : прикладне програмування з ефектами показує, як можна узагальнити монади на щось, що є практично актуальним та проникливим.
Або ви можете подивитися, як комони використовуються для моделювання обчислювальних ефектів. Хтось повинен запропонувати кілька посилань на цю тему, але хорошим початком можуть бути слайди Девіда Овертона .
Теорія модального типу
У теорії типу гомотопії, а також в теорії типів взагалі монади постають у формі теорії модального типу . Останнім часом теорія модального типу розглядається в теорії типу гомотопії, оскільки оператори усічення є прикладами модальних операторів. І тоді існує когезивна теорія типу гомотопії, в якій модальні оператори (які є монадами) відіграють істотну роль.
Алгебраїчні ефекти та обробники
[Відмова від відповідальності: частково дує тут мій власний ріг.]
Деякий час тому Гордон Плоткін та Джон Пауер спостерігали, що багато обчислювальних ефектів - це не просто будь-які монади, а спеціальні монади, що виникають з алгебраїчних теорій. Це призводить до абсолютно нового лікування обчислювальних ефектів, відомих як алгебраїчні ефекти . Пізніше Гордон Плоткін та Матія Претнар представили обробників і разом з алгебраїчними ефектами вони утворюють дуже приємну теорію обчислювальних ефектів. Однією з переваг такого підходу є те, що алгебраїчні теорії можна легко поєднувати, тоді як монади не можуть.
Ви можете вивчити, як саме алгебраїчні ефекти стосуються монад. Ви можете подивитися, як люди реалізовували алгебраїчні ефекти та обробники, скажімо, мовою Eff або в Haskell як бібліотеці . Це більш-менш сучасні дослідження.