SWI Prolog

Tutorial SWI-Prolog ‎‎‎‎(Windows)‎‎‎‎

Versión online (limitada - no necesita instalación)

http://swish.swi-prolog.org/

Nota: La versión instalable es más completa, pero se puede zafar en caso de no poder instalarla.

Instalación

Se instala con este archivo:

  • Windows NT/2000/XP/Vista/7 - 32 bits:  aquí
  • Windows XP/Vista/7 - 64 bits: aquí.
  • Otras plataformas: ver el sitio de SWI

Desempaquetan el .zip, hay solamente un exe, que es el instalador. Lo ejecutan y listo, no hay que hacer pasos adicionales.

Funcionamiento

Los programas Prolog hay que editarlos con un editor de texto. Se puede usar el Notepad, pero no conviene, es bastante limitado.

Hay uno que se llama emacs que viene con el SWI. También se pueden usar editores de texto de uso general, p.ej. el UltraEdit. En la página de editores contamos algunos tipos sobre cómo trabajar con los editores. Conviene guardar los archivos con extensión .pl. 

El SWI se usa para hacer consultas a partir de un programa. Hay varias formas de "cargar" un programa en Prolog, mencionamos algunas:

  1. darle doble click al fuente .pl en el administrador de archivos o similar (p.ej. windows commander), abre el SWI y carga el programa.
  2. abrir el SWI, y después File -> Consult.
  3. escribir en la línea de comando prolog nombreArchivo.pl
  4. abrir el SWI, y en la consola utilizar el predicado consult/1: ?- consult("clase2.pl").

Si hay errores en el programa, aparecen en la ventana de SWI indicando la línea de cada error. También pueden aparecer warnings, esos no importan. Si hay errores (te das cuenta porque la línea correspondiente empieza con ERROR:) el programa no se carga, hay que corregir los errores.

Una vez que se cargó el programa, las consultas se hacen escribiéndolas en la ventana del SWI, al lado del prompt ?- . Recordar que las consultas también tienen que terminar con punto.

Para consultas existenciales, el SWI muestra la primer respuesta. Si quiero más, pulso ; (punto y coma), si no, pulso Enter.

Si pulso ; y responde No es porque no encontró más respuestas a la consulta.

Si cambio un programa en la ventana del editor y lo grabo, el SWI no se entera. Para que se entere, luego de grabar el archivo modificado, poner

    ?- make.

en la ventana del SWI; esto hace que el SWI levante de nuevo el programa a partir del archivo .pl.

Si quiero cambiar de .pl, tengo que hacer File -> Consult. No vemos en la materia cómo tener más de un .pl cargado al mismo tiempo.

Comments