Repete

Introduzimos agora um novo símbolo de predicado de aridade zero, denotado por repeat, e que definimos pelas duas cláusulas seguintes:

         repeat.
         repeat :- repeat.

Resulta claro que no que diz respeito à semântica lógica, isto equivale à única cláusula

         repeat.

e é portanto a sua semântica operacional que faz a diferença (e o seu interesse). Para ilustrarmos a utilidade de tal construção, consideremos a questão

         ?- repeat, write('Qual a opcao desejada?'),
                    read(O), faz(O), !.

Um exame à árvore de procura mostra que desencadeamos uma iteração, ``sem fim'', de chamadas ao write e ao read, cuja condição de saída é o êxito do predicado faz.


(c) Delfim F. Marado Torres
1999-04-13