4 pontos por xguru 2019-12-01 | 1 comentários | Compartilhar no WhatsApp

MAL é um interpretador LISP inspirado em Clojure, implementado separadamente em 79 linguagens de programação.

Como o mesmo interpretador foi implementado em várias linguagens, ele pode ser usado para aprender uma nova linguagem.

O código é dividido em 11 etapas, e a etapa final é self-hosting (uma implementação de MAL executa o próprio MAL novamente).

1 comentários

 
xguru 2019-12-01

Pode ser usado imediatamente na implementação de MAL baseada em Javascript.

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

Explicação passo a passo da implementação

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

The Make-A-Lisp Process

Step 0: O REPL

Step 1: Ler e imprimir

Step 2: Eval

Step 3: Ambientes

Step 4: If Fn Do

Step 5: Otimização de chamada de cauda

Step 6: Arquivos, mutação e Evil

Step 7: Quoting

Step 8: Macros

Step 9: Try

Step A: Metadados, self-hosting e interoperabilidade