Tip:
Highlight text to annotate it
X
Ok. Loops infinitos, isso não tem graça.
Eu quero ver minha página web.
Eu não quero esperar um número infinito de segundos e depois ver minha página web --
isso é muito tempo, e eu ficaria com fome antes disso.
Não seria bom se pudéssemos dizer se um programa vai entrar em loop infinito ou não?
Então, se ele fosse entrar em loop infinito, eu não o executaria ou imprimiria um aviso na página web,
mas não perderia tempo com isso.
Então, o que eu realmente gostaria de fazer é simplesmente olhar para o código fonte do programa,
tal como está na página web, e ser capaz de dizer se ele entra em loop infinito
ou se ele pára, se termina sua execução.
Se ele termina e produz uma resposta, depois de um tempo finito,
então seria uma requisição válida.
Infelizmente, isso não apenas é difícil, mas de fato é impossível.
Não é difícil -- somos muito preguiçosos, poderíamos não saber --
mas de fato sabemos que não é possível fazê-lo.
Não se põe determinar isso corretamente, em todos os casos.
Para ver porque isso não pode acontecer, suponha que possamos resolver este problema,
e veremos que as coisas não vão dar muito certo.
Suponha que tenhamos pensado muito sobre isso,
e que, de algum modo, implementamos uma função, chamada halts,
que tem como argumento uma outra função, e retorna True, se esta função pára,
ou False, se ela entra em loop.
Agora saberíamos se é seguro avaliar uma página web:
apenas temos que examinar todo JavaScript na página web, e chamar halts sobre cada um --
se isso retornasse True em todos os casos, poderíamos formatar a página web completamente.
Vamos testar nosso entendimento sobre esta mítica função halts.
Escrevi aqui 4 trechos de código Python:
Vladimir, nabokov, pale e fire,
e fire está em vermelho, porque isso está quente.
Uma possibilidade é que pensemos que Vladimir pára;
outra possibilidade é que pensemos que nabokov pára.
O que eu quero que você faça é que me diga quais dessas 4 afirmações --
pode ser mais de uma -- são de fato verdadeiras.
Marque cada quadro que corresponda a um fato verdadeiro.