Hoy conoceremos los comandos más usados en SWI-Prolog, la implementación de código abierto del lenguaje de programación Prolog. Abrimos una terminal y tecleamos los siguientes comandos.
1. Conocer la versión instalada:
$ swipl --version
También está este otro:
$ swipl --abi-version
2. Obtener ayuda:
$ swipl --help
3. Conocer la arquitectura del host:
$ swipl --arch
4. Entrar al shell:
$ swipl
5. Salir del shell:
?- halt.
Supongamos que tenemos el siguiente programa.
holamundo.pl
% Hola, mundo en Prolog main :- write("Hola, mundo en Prolog!!"),nl,halt.
6. Para cargarlo con SWI-Prolog tecleamos:
$ swipl -l holamundo.pl
Con esto cargamos el programa, y ahora invocamos su ``main`` para ejecutarlo:
?- main. Hola, mundo en Prolog!!
Otra forma:
$ swipl -f holamundo.pl
Lo ejecutamos:
?- main. Hola, mundo en Prolog!!
También de esta forma:
?- [mi_programa].
O de esta otra:
?- consult('mi_programa.pl').
7. Recargar automáticamente tras cambios.
?- make.
8. Borrar una definición.
?- abolish(padre/2).
9. Ver ayuda o documentación.
?- help(member).
10. Usar listas y predicados integrado.
?- member(X, [a,b,c]).
11. Trazar la ejecución paso a paso.
?- trace. ?- padre(juan, X).
12. Consultar una regla o hecho.
?- padre(juan, maria).
13. Buscar soluciones múltiples.
?- padre(juan, X).
14. Definir hechos y reglas.
padre(juan, maria). padre(juan, pedro). madre(ana, maria). hijo(X, Y) :- padre(Y, X).
Manos a la obra con un programa Prolog
Teniendo este programa hecho en Prolog. Mostraremos como ejecutarlo con la herramienta SWI-Prolog.
subordinados.pl
% Hechos subordinados(monica,grabriela). subordinados(gabriela,ana). subordinados(gabriela,jose). subordinados(ana,irene). subordinados(ana,carlos). subordinados(jose,lorenzo). subordinados(jose,lizardo). subordinados(lorenzo,omar). subordinados(lizardo,paco). % Reglas subordinado(Persona, Subordinado) :- subordinados(Persona, Subordinado). subordinados_de(Persona) :- write('Los subordinados de '), write(Persona), write(' son:'), nl, subordinado(Persona, Subordinado), write(Subordinado), nl, fail. subordinados_de(_).
Pasos:
1. Entrar al shell:
$ swipl
2. Cargar el programa.
?- [subordinados].
3. Recargar cambios.
?- make.
4. Consultar hechos.
?- subordinados(gabriela, X).
Salida:
X = ana ; X = jose.
5. Listar subordinados.
?- subordinados_de(gabriela).
Salida:
Los subordinados de gabriela son: ana jose false.
6. Explorar con traza.
?- trace. ?- subordinados_de(jose).
Verás la traza.
7. Eliminar un predicado.
?- abolish(subordinado/2).
8. Consultar ayuda.
?- help(write).
9. Salir de SWI-Prolog.
?- halt.
¡Hemos visto los comandos más comunes de SWI-Prolog y cómo usarlos en un programa!
Enlaces:
https://www.swi-prolog.org/Tutorial de Swi-prolog (SWISH)

Comentarios
Publicar un comentario