4 คะแนน โดย xguru 2019-12-01 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

MAL เป็นอินเทอร์พรีเตอร์ LISP ที่ได้แรงบันดาลใจจาก Clojure และมีการนำไปพัฒนาแยกกันในภาษาโปรแกรม 79 ภาษา

มีการสร้างอินเทอร์พรีเตอร์แบบเดียวกันไว้ในหลายภาษา จึงสามารถใช้เพื่อการเรียนรู้ภาษาใหม่ได้

โค้ดถูกแบ่งออกเป็น 11 ขั้นตอน และขั้นตอนสุดท้ายคือ self-hosting (อิมพลีเมนเทชันของ MAL รัน MAL ได้อีกครั้ง)

1 ความคิดเห็น

 
xguru 2019-12-01

สามารถลองใช้ได้ทันทีในอิมพลีเมนเทชัน 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