Latihan pemrograman klasik adalah menulis penerjemah Lisp / Skema di Lisp / Skema. Kekuatan bahasa lengkap dapat dimanfaatkan untuk menghasilkan penerjemah untuk subset bahasa.
Apakah ada latihan serupa untuk Haskell? Saya ingin mengimplementasikan subset Haskell menggunakan Haskell sebagai mesinnya. Tentu saja dapat dilakukan, tetapi adakah sumber daya online yang tersedia untuk dilihat?
Berikut backstory-nya.
Saya sedang mengeksplorasi ide menggunakan Haskell sebagai bahasa untuk mengeksplorasi beberapa konsep dalam kursus Struktur Diskrit yang saya ajarkan. Untuk semester ini saya telah memilih Miranda , bahasa yang lebih kecil yang menginspirasi Haskell. Miranda melakukan sekitar 90% dari apa yang saya ingin lakukan, tetapi Haskell melakukan sekitar 2000%. :)
Jadi ide saya adalah membuat bahasa yang memiliki fitur Haskell yang saya suka dan tidak mengizinkan yang lainnya. Seiring kemajuan siswa, saya dapat secara selektif "mengaktifkan" berbagai fitur setelah mereka menguasai dasar-dasarnya.
"Tingkat bahasa" pedagogis telah berhasil digunakan untuk mengajar Java dan Skema . Dengan membatasi apa yang dapat mereka lakukan, Anda dapat mencegah mereka menembak diri sendiri saat mereka masih menguasai sintaks dan konsep yang Anda coba ajarkan. Dan Anda dapat menawarkan pesan kesalahan yang lebih baik.