|
Tutorial básico de programación en Prolog |
El shell de Prolog
El shell de Prolog es una aplicación que permite ejecutar objetivos y ver las ligaduras de las variables de manera interactiva. Pueden existir diferencias entre unos entornos de desarrollo y otros respecto a su uso. Para ilustrar su uso, nosotros utilizaremos el shell de Ciao/Prolog.
Ejecutando el shell
El shell es una aplicación más que podemos ejecutar en nuestro sistema operativo. En nuestro caso, la aplicación se denomina ciaosh. Al ejecutarla aparece un típico mensaje de bienvenida:
Ciao-Prolog 1.4 #0: Sat Nov 27 19:27:11 1999 ?-
El símbolo ?- nos indica la zona donde podemos escribir los objetivos a ejecutar.
Para mejorar la legibilidad en los ejemplos, destacamos el texto que el usuario teclea para distinguirlo de la salida por pantalla del shell.
Mi primer objetivo
Cuando arrancamos el shell, los únicos objetivos que podemos ejecutar corresponden a predicados predefinidos en el sistema. Nuestro predicado predefinido favorito es la igualdad =/2. Así que vamos a probarlo:
Ciao-Prolog 1.4 #0: Sat Nov 27 19:27:11 1999 ?- t(X,3) = t(4,Z). X = 4, Z = 3 ?
Observese que los objetivos acaban en un punto (.), si pulsamos intro antes de escribir el punto ocurre un salto de línea, pero nada más. Cuando escribimos el punto y pulsamos INTRO es cuando se ejecuta el objetivo.
A continuación, el shell nos dice si el objetivo tiene éxito o no, y cuales son las ligaduras de las variables. Después aparece un signo de interrogación (?). En este momento es cuando le podemos pedir que nos muestre otra solución tecleando un punto y coma (;) y pulsando INTRO:
Ciao-Prolog 1.4 #0: Sat Nov 27 19:27:11 1999 ?- t(X,3) = t(4,Z). X = 4, Z = 3 ? ; no ?-
Como no hay más soluciones en nuestro ejemplo, el shell dice "no" y nos permite escribir otro objetivo. Si no hubiesemos deseado más soluciones simplemente habríamos pulsado INTRO.
Compilando y cargando codigo
Puesto que en el shell solamente podemos ejecutar objetivos, la forma de compilar y cargar código es ejecutando un objetivo. Esto puede variar de un shell a otro, pero habitualmente se hace así:
?- consult('prog1.pl').
yes
?-
Obsérvese que el nombre del fichero fuente (y su ruta, si es necesario) se escribe en un término cero-ario entre comillas simples. Esta es la forma habitual de escribir nombres de fichero.
?- consult('c:/temp/prog1.pl').
yes
?-
Quiero irme de aquí
Cuando nos cansamos de jugar con el shell, podemos terminar la aplicación ejecutando el predicado halt/0, o bien pulsando CTRL-D:
?- halt. Process Ciao/Prolog<1> finished
















































