Skip to content

Latest commit

 

History

History
99 lines (80 loc) · 3.68 KB

index.org

File metadata and controls

99 lines (80 loc) · 3.68 KB

Majestic Lisp

Criado e desenvolvido por Lucas S. Vieira <lucasvieira at protonmail dot com>.

Seja bem-vindo(a) a Majestic Lisp, um dialeto de Lisp cujo interpretador foi construído usando a linguagem Rust, através de um método conhecido como literate programming (aqui traduzido livremente como programação instruída.

O objetivo desse projeto é a construção de um livro que exponha, em forma de prosa, a implementação da aplicação, com blocos de código fazendo papel de acompanhamento.

Isso inverte a ideia de comentar código que é escrito: em vez disso, codificamos as ideias que são comentadas.

Veja que este projeto ainda está no início, o que significa que você ainda verá inconsistências e, por vezes, blocos de código sem descrição apropriada. Ainda assim, sinta-se em casa para explorar o projeto.

Você poderá encontrar o código separado no repositório. Caso queira contribuir, certifique-se de que editar apenas os arquivos .org; nenhum arquivo de código deverá ser editado diretamente.

Execução do projeto no browser

NOVO! Você poderá agora executar o projeto em sua versão mais estável através do WebAssembly.sh. Para tanto, acesse o site e, no console que abre, digite:

wapm install luksamuk/majestic-lisp
majestic

O projeto ainda é um pouco delicado, e por enquanto pede input através de uma janela no console, mas você poderá utilizá-lo como teste.

Licenciamento

Este projeto utiliza a licença MIT. Veja o repositório para mais detalhes.

Conteúdo

Agradecimentos

  1. Introdução
  2. Sintaxe da linguagem
  3. Configurando o projeto
  4. Núcleo da linguagem
  5. Axiomas
  6. Impressão
  7. Leitor de expressões
    • Parser
    • Tokenizador
  8. Interpretador
  9. Ponto de entrada
  10. Testes

Apêndices