Стан-кво теорії категорій та монад у теоретичних дослідженнях інформатики?


17

Фон . Я студент бакалавра, який цікавиться дослідженнями, пов'язаними з теорією категорій, монадами та Хаскеллом, і хочу знайти тему моєї дипломної роботи в цій галузі.

Я подивився на папір

і я ще цього багато чого не розумію. Мені, мабуть, знадобиться досить часу, щоб повністю зрозуміти це. Але перш ніж витрачати більше часу на її вивчення, я хочу краще зрозуміти поле та його дослідницький потенціал. Нещодавно я поговорив з моїм професором, і він сказав мені, що монади були в моді в дослідницькій спільноті ще в 90-х роках, але сьогодні вони не в моді.

Тому я зараз шукаю останні роботи, пов'язані з монадами, і мені цікаво:

  • У яких галузях теоретичної інформатики зараз проводяться дослідження, пов'язані з теорією категорій та монадами?
  • Які дослідження були розроблені або запропоновані на роботі Е. Моджі про монади в теорії програмування? Чи проводились будь-які подальші дослідження чи дослідження, пов'язані з його документом?

Перш ніж відповісти на це питання: це не рівень дослідження, чи не так? Це може бути краще підходить для cs.stackexchange.com.
Андрій Бауер

3
@AndrejBauer Бакалаврська дисертація не буде рівнем досліджень, але моє питання стосується сучасних досліджень або принаймні досліджень, проведених за останнє десятиліття.
k.stm

9
@AndrejBauer Я не згоден. Сайт сестри здебільшого стосується питань домашнього завдання, тоді як тут потрібна думка експертів.
Yuval Filmus

@Kaveh Це було досить кардинальне редагування, яке ви тільки що зробили. Ви вдосконалили деякі моменти, але зараз це вже не справді питання, яке я задавав. Коли завтра у мене буде час, я відкатую деякі ваші зміни. Наприклад, мені важливо мати передумови. Скажіть, будь ласка, які зміни, на вашу думку, були потрібні і чому я знаю, що не відкатати.
k.stm

1
@Yuval, я думаю, що багато хто з комп'ютерних наук категорично не погоджуються з вашим коментарем, що це головним чином для домашніх завдань і що фахівці з комп’ютерних наук не присутні . У цьому випадку Андрій відповів на понад 100 питань з питань інформатики .
Каве

Відповіді:


15

З часу роботи Евгеніо Моджі було розроблено ряд розробок щодо використання монад у теорії обчислення. Я не в змозі дати вичерпну інформацію, але тут я знайомий з деякими моментами, а інші можуть зазвучити свої відповіді.

Конкретні приклади монад

Вам не доведеться весь час вивчати надзагальну теорію. Є приклади монад, які є дуже цікавими та досить складними, щоб заповнити всю дипломну роботу.

Мені дуже подобається блог Дена Піпоні, де він наводить дивовижні приклади того, як монади можна використовувати для поєднання функціонального програмування та математики. Шукайте, наприклад, його роботу по вузлах і косах через монади.

Ще один конкретний приклад мондів, які варто вивчити, наводили Мартін Ескардо та Пауло Оліва в контексті функцій вибору, дивіться їх функції вибору, бар-рекурсія та індукція назад , або, можливо, щоб зацікавити першими прочитати, які послідовні ігри, теорему Тихонофа та двічі Заперечення зрушення має загальний (пов'язаний Haskell і Agda файлів тут ).

Математичний фон

Монади походять з теорії категорій і значно старші за Євгеніо Модгі. Ви можете вивчити фонову теорію, якщо ви схильні до математики. Наприклад, ви можете напасти на теорему про монадичність Бека . Теоретик-теоретик ніколи не може знати занадто багато математики.

Варіації на тему

Ви могли подивитися на щось, що не є суворо монадою.

Наприклад, « Ідіоми» Коннора МакБрайда та Росса Патерсона : прикладне програмування з ефектами показує, як можна узагальнити монади на щось, що є практично актуальним та проникливим.

Або ви можете подивитися, як комони використовуються для моделювання обчислювальних ефектів. Хтось повинен запропонувати кілька посилань на цю тему, але хорошим початком можуть бути слайди Девіда Овертона .

Теорія модального типу

У теорії типу гомотопії, а також в теорії типів взагалі монади постають у формі теорії модального типу . Останнім часом теорія модального типу розглядається в теорії типу гомотопії, оскільки оператори усічення є прикладами модальних операторів. І тоді існує когезивна теорія типу гомотопії, в якій модальні оператори (які є монадами) відіграють істотну роль.

Алгебраїчні ефекти та обробники

[Відмова від відповідальності: частково дує тут мій власний ріг.]

Деякий час тому Гордон Плоткін та Джон Пауер спостерігали, що багато обчислювальних ефектів - це не просто будь-які монади, а спеціальні монади, що виникають з алгебраїчних теорій. Це призводить до абсолютно нового лікування обчислювальних ефектів, відомих як алгебраїчні ефекти . Пізніше Гордон Плоткін та Матія Претнар представили обробників і разом з алгебраїчними ефектами вони утворюють дуже приємну теорію обчислювальних ефектів. Однією з переваг такого підходу є те, що алгебраїчні теорії можна легко поєднувати, тоді як монади не можуть.

Ви можете вивчити, як саме алгебраїчні ефекти стосуються монад. Ви можете подивитися, як люди реалізовували алгебраїчні ефекти та обробники, скажімо, мовою Eff або в Haskell як бібліотеці . Це більш-менш сучасні дослідження.


Привіт, дякую за цю відповідь! Я натиснув на вашому веб-сайті про Eff, і, здається, посилання на Вступ до алгебраїчних ефектів та обробників застаріло, тобто файл eff-lang.org/handlers-tutorial.pdfвідсутній.
k.stm

1
Я попросив Матія виправити посилання, тим часом ви можете подивитися на arxiv.org/abs/1203.1539 .
Андрій Бауер

Я вже є. Чи можете ви, до речі, дати короткий огляд фонової теорії, яку мені потрібно вивчити, щоб зрозуміти ваш документ? Я знаю деякі теорії категорій, нетипізоване обчислення лямбда та деякі елементарні теорії обчислення та елементарну теорію програмування (я знаю, що таке денотаційна семантика), але не набагато більше поки що. Я, наприклад, вже можу сказати з розділу 3 вашої статті, що мені потрібно вивчити правила введення тексту (так, можливо, введене обчислення лямбда). Вибачте, якщо я тут напористий.
k.stm

3
Вам слід трохи знати про універсальну алгебру та / або теорію алгебраїки Лаввера. Якщо ви не знайомі з правилами введення тексту, тоді ви можете вивчити загальний підручник з мов програмування, наприклад, TAPL Бенджаміна Пірса або Практичні основи мов програмування Боба Гарпера .
Андрій Бауер

1

У цьому документі дано кілька важливих останніх робіт з використанням монад.


1
Привіт, дякую за вашу відповідь. Я би вдячний трохи контексту, тобто якщо ви можете витратити час на детальну інформацію. (Насправді у цьому документі є приємний вступ про його зміст, але я все одно хотів би побачити якийсь контекст для його оточення, наприклад, якщо є пов’язана робота та ін.)
k.stm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.