Este repositório contém variações do interpretador lis.py para um subconjunto de Scheme criado por Peter Norvig, descrito em seu texto (How to Write a (Lisp) Interpreter (in Python)).
Clique no link abaixo para executar o Jupyter Notebook na plataforma Google Colab sem instalar nada em sua máquina:
https://colab.research.google.com/github/pythonfluente/gambiconf2024/blob/lispy.ipynb
O notebook lispy.ipynb
pode ser exportado como um script Python assim:
$ jupyter nbconvert --to script lispy.ipynb
Isso gera o arquivo lispy.py
, que precisa ser executado no console ipython
devido ao uso de alguns comandos mágicos como %%script
:
$ ipython lispy.py
O script exibe o resultado de alguns experimentos, e afinal exibe o REPL (console interativo):
42
9
(12 34 10)(0 1 2 3 4 5 6 7 8 9)
(Este é o lis.py de Norvig)
lis.py>
lis.py
foi
publicado
no repositório norvig/pytudes
no Github.
O detentor do direito autoral é Peter Norvig e o código é licenciado sob a
licença do MIT.
A menos que seja observado o contrário, escrevi as mudanças e adições descritas nos arquivos README em cada diretório.
Luciano Ramalho
São Paulo, 5 de julho de 2024