REPL

Origem: Wikipédia, a enciclopédia livre.
Python IDLE, um REPL feito para o Python.

Um read-eval-print loop (laço de leitura, execução e impressão) é um ambiente de execução de alguma linguagem de programação que permite ao programador executar pequenas instruções (geralmente, de uma só linha) diretamente num console/shell, sem precisar salvar o código num arquivo de script. Esses ambientes são usados pelos programadores para testar funções ou comandos de linguagens ou bibliotecas que eles estão aprendendo, ou então depurar algum trecho pequeno de código.[1]

Naturalmente, algumas linguagens oferecem maior facilidade de se usar ou mesmo de haver disponível um REPL para seus utilizadores. Para o Python ou para o JavaScript, por exemplo, cada trecho de código por si só já é um programa válido. Nesse caso, a diferença entre se executar programas nessas linguagens, bem como na maioria das linguagens interpretadas mais modernas, em scripts ou em REPL é pequena. Isso significa que, na maioria dos contextos, é possível representar perfeitamente o fluxo de execução num REPL.[1]

Para outras linguagens, já não é assim tão fácil. As linguagens C e C++ são os mais tradicionais exemplos de linguagens que são exclusivamente compiladas. É muito comum que da comunidade utilizadora destas tecnologias surjam esforços para implementar REPLs "artificiais"; no entanto, a sua confiabilidade e eficiência não são garantidas.

Referências

  1. a b Binsbergen, L. Thomas van; Merino, Mauricio Verano; Jeanjean, Pierre; Storm, Tijs van der; Combermale, Benoit; Barais, Olivier (17 de novembro de 2020). «A principled approach to REPL interpreters». Onward! (em inglês). doi:10.1145/3426428.3426917. Consultado em 29 de setembro de 2022