MAL - Haz un Lisp
(github.com)MAL es un intérprete de LISP inspirado en Clojure, implementado por separado en 79 lenguajes de programación.
Como el mismo intérprete está implementado en varios lenguajes, se puede usar para aprender un lenguaje nuevo.
El código está dividido en 11 etapas, y la etapa final es de self-hosting (una implementación de MAL vuelve a ejecutar MAL).
1 comentarios
Se puede usar directamente en la implementación de MAL basada en Javascript.
Mal Web REPL - https://kanaka.github.io/mal/
Explicación paso a paso de la implementación
https://github.com/kanaka/mal/blob/master/process/guide.md
The Make-A-Lisp Process
Paso 0: El REPL
Paso 1: Leer e imprimir
Paso 2: Eval
Paso 3: Entornos
Paso 4: If Fn Do
Paso 5: Optimización de llamadas de cola
Paso 6: Archivos, mutación y maldad
Paso 7: Quoting
Paso 8: Macros
Paso 9: Try
Paso A: Metadatos, self-hosting e interop