MAL - สร้าง Lisp
(github.com)MAL เป็นอินเทอร์พรีเตอร์ LISP ที่ได้แรงบันดาลใจจาก Clojure และมีการนำไปพัฒนาแยกกันในภาษาโปรแกรม 79 ภาษา
มีการสร้างอินเทอร์พรีเตอร์แบบเดียวกันไว้ในหลายภาษา จึงสามารถใช้เพื่อการเรียนรู้ภาษาใหม่ได้
โค้ดถูกแบ่งออกเป็น 11 ขั้นตอน และขั้นตอนสุดท้ายคือ self-hosting (อิมพลีเมนเทชันของ MAL รัน MAL ได้อีกครั้ง)
1 ความคิดเห็น
สามารถลองใช้ได้ทันทีในอิมพลีเมนเทชัน MAL ที่ทำงานบน Javascript
Mal Web REPL - https://kanaka.github.io/mal/
คำอธิบายแต่ละขั้นของการอิมพลีเมนต์
https://github.com/kanaka/mal/blob/master/process/guide.md
The Make-A-Lisp Process
Step 0: REPL
Step 1: Read และ Print
Step 2: Eval
Step 3: Environments
Step 4: If Fn Do
Step 5: Tail call optimization
Step 6: Files, Mutation, and Evil
Step 7: Quoting
Step 8: Macros
Step 9: Try
Step A: Metadata, Self-hosting and Interop