A.4.
Prolog procedimental
Algunas de las características de Prolog que ya hemos introducido (como los
operadores aritméticos y los predicados incorporados) no son estrictamente lógicas,
pero no rompen la esencia declarativa del lenguaje. Bajo la etiqueta de «Prolog
procedimental»
entendemos varias cosas:
- La necesidad, en muchas ocasiones, de tener presente el modelo procesal
para diseñar programas que funcionen de manera eficiente, o, incluso,
que funcionen; el ejemplo del Apartado A.3.3 ya ilustra esta necesidad, y
enseguida veremos otro (en el Apartado A.4.2).
- La necesidad de sacrificar a veces, también en aras de la eficiencia, el punto de
vista lógico y guiarse por un «enfoque algorítmico»
para definir ciertas relaciones (Apartados A.4.2 a A.4.2).
- La introducción de predicados no lógicos, sino imperativos. (En realidad, no son
predicados en el sentido estricto, sino que se caracterizan por tener un «efecto
lateral»
, como por ejemplo, lectura de un dato o escritura de un resultado,
Apartado A.4.3).
- La introducción en el lenguaje de construcciones que permiten alterar el
mecanismo de búsqueda que normalmente sigue el procesador de Prolog
(Apartado A.4.4).
DIT-ETSIT-UPM