4 poin oleh xguru 2019-12-01 | 1 komentar | Bagikan ke WhatsApp

MAL adalah interpreter LISP yang terinspirasi dari Clojure, dengan implementasi terpisah dalam 79 bahasa pemrograman.

Interpreter yang sama diimplementasikan dalam banyak bahasa, sehingga bisa digunakan untuk mempelajari bahasa baru.

Kodenya dibagi menjadi 11 tahap, dan tahap akhirnya adalah self-hosting (implementasi MAL menjalankan MAL itu sendiri)

1 komentar

 
xguru 2019-12-01

Bisa langsung dicoba pada implementasi MAL berbasis Javascript.

Mal Web REPL - https://kanaka.github.io/mal/

Penjelasan implementasi per tahap

https://github.com/kanaka/mal/blob/master/process/guide.md

The Make-A-Lisp Process

Langkah 0: REPL

Langkah 1: Read and Print

Langkah 2: Eval

Langkah 3: Environment

Langkah 4: If Fn Do

Langkah 5: Optimisasi tail call

Langkah 6: File, Mutasi, dan Evil

Langkah 7: Quoting

Langkah 8: Makro

Langkah 9: Try

Langkah A: Metadata, Self-hosting, dan Interop