Teori Bahasa Pemrograman dan Aljabar Abstrak

11

Apakah ada aplikasi Aljabar Abstrak ke Teori Bahasa Pemrograman? Adakah yang berguna dalam desain bahasa dan implementasi kompiler?

n00b101
sumber
3
Sudahkah Anda memeriksa pertanyaan yang ditautkan di atas? Juga Apakah Teori Kategori berguna untuk belajar pemrograman fungsional? dan Pemrograman Fungsional . Apakah mereka menjawab pertanyaan Anda?
Kaveh

Jawaban:

11

Aljabar dalam arti kata klasik digunakan dalam pemodelan efek komputasi sebagai operasi aljabar, lihat misalnya slide ini oleh Gordon Plotkin, atau Anda dapat membaca makalah nyata dan Ph.D. tesis , jika Anda benar-benar bermaksud mengajukan pertanyaan.

Dan untuk meniup tanduk saya sendiri, lihatlah Eff dan bacalah tentangnya , sebuah bahasa yang dirancang di sekitar gagasan bahwa efek komputasi adalah operasi aljabar dan bahwa penangan adalah homomorfisme dari aljabar.

Andrej Bauer
sumber
1
Eff sangat keren - apa yang saya mengerti tentang kelanjutan yang dibatasi sebagian besar berasal dari itu.
Neel Krishnaswami
Saya sedang mempertimbangkan reaksi blog terhadap "callcc Oleg yang dianggap berbahaya" di mana saya berpendapat bahwa eff adalah cara terstruktur untuk bekerja dengan kelanjutan.
Andrej Bauer
Terima kasih untuk semua yang telah menjawab. Saya harus menerima jawaban @ AndrejBauer karena dia menerapkan bahasanya sendiri sebagai jawaban atas pertanyaan :)
n00b101
Anda salah urutan di sana :) Kebetulan saya dan Matija menerapkan bahasa yang sesuai dengan pertanyaan Anda.
Andrej Bauer
7

Saya ragu-ragu untuk menjawab karena jawaban apa pun di luar "ya" sederhana dapat dan memang mengisi volume. Pemrograman bahasa semantik telah sangat dibentuk oleh dan pada gilirannya telah sangat membentuk pengembangan logika kategorikal, yang merupakan penerapan aljabar ke logika.

Tetapi saya curiga cara terbaik untuk menjawab pertanyaan ini adalah memberi tahu Anda untuk pergi belajar Agda - pengalaman belajar program dengan tipe dependen sebagian besar berkaitan dengan bagaimana aljabar komprehensif meliputi pemrograman komputer.

Neel Krishnaswami
sumber
-1

Sebenarnya ada perangkat lunak untuk aljabar abstrak teoretis. Perangkat lunak ini memungkinkan untuk menghitung beberapa hal seperti grup aksi, Homomorfisme dll ... Ini adalah Magma: http://magma.maths.usyd.edu.au/magma/

Saya harap ini dapat membantu Anda.

Camilo Soler
sumber
2
Saya khawatir Anda mungkin salah mengerti pertanyaan itu.
Tsuyoshi Ito
Kamu pikir? Nah, dengan Magma Anda memiliki perpustakaan dalam topik khusus tentang aljabar abstrak, lingkungan yang berguna untuk diterapkan di bidang lain, misalnya bahasa pemrograman ...
Camilo Soler
1
(1) Jika Magma memiliki perpustakaan dalam topik tertentu tentang aljabar abstrak yang berguna untuk diterapkan pada teori bahasa pemrograman, maka Anda harus menulis tentang aplikasi itu. Saya tidak berpikir bahwa pointer ke Magma membantu dalam konteks pertanyaan ini. (2) Sejujurnya, saya ragu Anda mengerti apa arti "teori bahasa pemrograman".
Tsuyoshi Ito
OK, saya hanya ingin mengekspresikan ide saya di platform lain yang memiliki perpustakaan aljabar abstrak sebagai dasar (seperti contoh) untuk membuat atau merancang "bahasa pemrograman" lain ... tidak mudah dibahas di sini. Saya minta maaf jika ide saya salah atau salah.
Camilo Soler