4 puntos por xguru 2019-12-01 | 1 comentarios | Compartir por WhatsApp

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

 
xguru 2019-12-01

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