Od czasu Eugenio Moggi nastąpił szereg zmian w zakresie wykorzystania monad w teorii obliczeń. Nie jestem w stanie podać wyczerpującego opisu, ale oto kilka punktów, które znam, inni mogą odpowiedzieć na ich odpowiedzi.
Konkretne przykłady monad
Nie musisz cały czas studiować teorii ogólnej. Istnieją przykłady monad, które są bardzo interesujące i wystarczająco skomplikowane, aby wypełnić całą pracę licencjacką.
Bardzo podoba mi się blog Dana Piponiego, na którym podaje niesamowite przykłady wykorzystania monad do łączenia programowania funkcjonalnego i matematyki. Szukaj na przykład swojej pracy na węzłach i warkocz przez monady.
Inny konkretny przykład mond, które warto studiować, podali Martin Escardo i Paulo Oliva w kontekście funkcjonałów selekcji, zobacz ich Funkcje selekcji, Rekurencja barów i Indukcja wsteczna , a może najpierw zainteresuj się, co przeczytają What Sequential Games, Tychonoff Theorem i the Double-Negation Shift mają wspólne (powiązane pliki Haskell i Agda tutaj ).
Tło matematyczne
Monady pochodzą z teorii kategorii i są znacznie starsze niż Eugenio Moggi. Możesz studiować teorię tła, jeśli masz matematyczne skłonności. Na przykład możesz zaatakować twierdzenie o monadyczności Becka . Teoretyczny informatyk nigdy nie zna zbyt dużej matematyki.
Wariacje na temat
Możesz spojrzeć na coś, co nie jest ściśle monadą.
Na przykład Idiomy Connora McBride'a i Rossa Patersona : programowanie aplikacyjne z efektami pokazuje, jak można uogólnić monady na coś, co jest praktycznie istotne i wnikliwe.
Możesz też spojrzeć na to, w jaki sposób comonady są używane do modelowania efektów obliczeniowych. Ktoś powinien zasugerować odniesienia do tego tematu, ale dobrym początkiem mogą być slajdy Davida Overtone .
Teoria typów modalnych
W teorii typów homotopii, a także ogólnie w teorii typów, monady pojawiają się w formie modalnej teorii typów . Ostatnio teoria typów modalnych została rozważona w teorii typów homotopii, ponieważ operatory obcięcia są przykładami operatorów modalnych. Następnie istnieje spójna teoria typu homotopii, w której operatory modalne (które są monadami) odgrywają istotną rolę.
Efekty algebraiczne i programy obsługi
[Uwaga: częściowo dmucham tutaj w swój własny róg.]
Jakiś czas temu Gordon Plotkin i John Power zauważyli, że wiele efektów obliczeniowych to nie tylko monady, ale specjalne monady wynikające z teorii algebraicznych. Doprowadziło to do zupełnie nowego traktowania efektów obliczeniowych znanych jako efekty algebraiczne . Później Gordon Plotkin i Matija Pretnar przedstawili moduły obsługi i razem z efektami algebraicznymi tworzą bardzo ładną teorię efektów obliczeniowych. Zaletą tego podejścia jest to, że teorie algebraiczne można łatwo łączyć, podczas gdy monady nie.
Możesz przestudiować, jak dokładnie efekty algebraiczne odnoszą się do monad. Możesz spojrzeć na to, jak ludzie implementowali efekty algebraiczne i procedury obsługi, powiedzmy w języku Eff lub w Haskell jako bibliotekę . To mniej więcej aktualne badania.