Latar Belakang . Saya seorang mahasiswa sarjana yang tertarik dalam penelitian yang berkaitan dengan teori kategori, monad dan Haskell, dan saya ingin mencari topik untuk tesis sarjana saya di bidang itu.
Saya telah melihat kertas
- Eugenio Moggi , " Pengertian Komputasi dan Monad ", 1991,
dan saya belum mengerti banyak tentang itu. Saya mungkin perlu waktu untuk memahaminya. Tetapi sebelum menghabiskan lebih banyak waktu untuk mempelajarinya, saya ingin mendapatkan pemahaman yang lebih baik tentang lapangan dan potensi penelitiannya. Baru-baru ini saya berbicara dengan seorang profesor saya tentang hal itu dan dia mengatakan kepada saya bahwa monad sedang populer di komunitas riset di tahun 90-an, tetapi saat ini mereka sudah ketinggalan zaman.
Karena itu , saya sekarang mencari pekerjaan terbaru yang berhubungan dengan monad, dan saya bertanya-tanya:
- Dalam bidang apa ilmu komputer teoretis saat ini dilakukan penelitian yang terkait dengan teori kategori dan monad?
- Jenis penelitian apa yang telah dibangun atau diusulkan pada karya E. Moggi tentang monad dalam teori pemrograman? Apakah ada tindak lanjut atau penelitian yang sedang berlangsung terkait dengan makalahnya?
Jawaban:
Ada sejumlah perkembangan berkaitan dengan penggunaan monad dalam teori komputasi sejak karya Eugenio Moggi. Saya tidak dapat memberikan akun yang komprehensif, tetapi di sini ada beberapa poin yang saya ketahui, yang lain bisa menjawab dengan jawaban mereka.
Contoh spesifik dari monad
Anda tidak harus mempelajari teori super-jenderal sepanjang waktu. Ada contoh monad yang sangat menarik dan cukup rumit untuk mengisi seluruh tesis sarjana.
Saya sangat menyukai blog Dan Piponi di mana ia memberikan contoh yang luar biasa tentang bagaimana monad dapat digunakan untuk mencampur pemrograman fungsional dan matematika. Cari karyanya tentang simpul dan jalinan melalui monad, misalnya.
Contoh spesifik lain dari mondas yang layak dipelajari adalah yang diberikan oleh Martin Escardo dan Paulo Oliva dalam konteks fungsi seleksi, lihat Fungsi Seleksi, Pengulangan Bar, dan Backward Induction , atau mungkin untuk tertarik terlebih dahulu membaca What Sequential Games, Teorema Tychonoff dan the Double-Negation Shift memiliki kesamaan (file Haskell dan Agda terkait di sini ).
Latar belakang matematika
Monad berasal dari teori kategori dan jauh lebih tua dari Eugenio Moggi. Anda bisa mempelajari teori latar belakang jika Anda cenderung secara matematis. Misalnya, Anda dapat menyerang teorema monadicity Beck . Seorang ilmuwan komputer teoretis tidak akan pernah tahu terlalu banyak matematika.
Variasi pada suatu tema
Anda bisa melihat sesuatu yang tidak sepenuhnya monad.
Sebagai contoh, Connor McBride dan Ross Paterson's Idioms: pemrograman aplikatif dengan efek menunjukkan bagaimana seseorang dapat menggeneralisasi monad menjadi sesuatu yang praktis relevan dan berwawasan luas.
Atau Anda bisa melihat bagaimana comonads digunakan untuk memodelkan efek komputasi. Seseorang harus menyarankan beberapa referensi untuk topik ini, tetapi awal yang baik mungkin adalah slide David Overtone .
Teori tipe modal
Dalam teori tipe homotopy, serta teori tipe secara umum, monad muncul dalam bentuk teori tipe modal . Baru-baru ini teori jenis modal telah dipertimbangkan dalam teori jenis homotopy karena operator pemotongan adalah contoh dari operator modal. Dan kemudian ada teori tipe homotop kohesif di mana operator modal (yang merupakan monad) memainkan peran penting.
Efek dan penangan aljabar
[Penafian: meniup tiup tandukku sendiri di sini.]
Beberapa waktu yang lalu Gordon Plotkin dan John Power mengamati bahwa banyak efek komputasi bukan sembarang monad, tetapi monad khusus yang muncul dari teori aljabar. Ini mengarah ke pengobatan yang sama sekali baru dari efek komputasi yang dikenal sebagai efek aljabar . Kemudian Gordon Plotkin dan Matija Pretnar memperkenalkan penangan dan bersama dengan efek aljabar mereka membentuk teori efek komputasi yang sangat bagus. Satu keuntungan dari pendekatan ini adalah bahwa teori-teori aljabar dapat dengan mudah digabungkan sedangkan monad tidak dapat.
Anda bisa mempelajari bagaimana sebenarnya efek aljabar berhubungan dengan monad. Anda bisa melihat bagaimana orang menerapkan efek dan penangan aljabar, katakan dalam bahasa Eff atau dalam Haskell sebagai perpustakaan . Ini adalah penelitian yang kurang lebih saat ini.
sumber
eff-lang.org/handlers-tutorial.pdf
hilang.Makalah ini memberikan beberapa pekerjaan penting terbaru menggunakan monad.
sumber