PROLOG (II): Los primeros pasos con SWI Prolog


El PROLOG estuvo de moda en los finales de los 80 y principios de los 90, pero ¿Y en la actualidad? ¿Se puede continuar programando en PROLOG?¿Tiene algún sentido hacerlo?.

Pues si, se puede seguir desarrollando en lenguaje PROLOG o ejecutar antiguos desarrollos. Existen al menos dos distribuciones disponibles de PROLOG sobre varios Sistemas Operativos. La primera se llama  SWI PROLOG  (1987) desarrollada por Jan Wielemaker de la Universidad de Amsterdam, se trata de una distribución gratuita y que goza de una licencia de software libre. La otra distribución es Quintus PROLOG orientada a su uso industrial desarrollada en Estados Unidos por Quintus Corp y cuya ultima versión es la 3.5 de 2003 en la actualidad la comercializa una empresa de Suecia. Esto me ha llevado a refrescar el tema, y escribir unas pocas entradas que permitan al curioso e inquieto a explorar este lenguaje, …. hubo vida antes que el Java que era mucho más lógica y comprensible.

Vamos a comenzar dando los primeros pasos para romper el miedo inicial.

Primeramente es necesario descargarse e instalar el interprete de SWI PROLOG (la versión actual en marzo de 2020 es la 8.0.3-1 y está disponible para LINUX, Mac y Windows) que tiene una sintaxis próxima al ISO-PROLOG para nuestro sistema. Una vez realizada la instalació hay que probar que funciona correctamente para ello debemos comprobar que al ejecutarlo nos aparecerá el símbolo o «promp» del intérprete de SWI-PROLOG que es «?-». El interprete ejecuta la sentencia cuando se las sentencias termina con «.« y <ENTER>

Aunque es una obviedad los lenguajes pueden ser interpretados (se convierte las instrucciones de alto nivel en lenguaje maquina u objeto cada vez que se ejecuta) o compilados se realiza esta conversión una única vez y es el objeto lo que se ejecuta cada vez. antaño por la escasez de recursos de ejecución se prefería trabajar con objetos compilados antes que con fuentes interpretables, pero hoy en día esto ha cambiado.

PROLOG termina toda ejecución con un Verdadero (True) o falso (False), a fin de cuentas ejecuta sentencias lógicas.

Hemos ejecutado tres comandos (format, print, write) con los que obtenemos que nos responda «Hola mundo» y que tras la ejecución devuelve «true» o «false».

Otros comandos de línea útiles son help (ayuda, por ejemplo help(format) nos informa del comando format que ya hemos usado ), version (información sobre la versión), license (información sobre la licencia o condiciones de uso del interprete).

Como en otros lenguajes las variables comienzan por mayusculas.

Para salirnos del interprete «halt«

Un programa PROLOG lo componen hechos (facts) y reglas (rules), lo ideal es escribirlas mediante un editor y cargarlo en el SWI, pero el interprete nos permite definirlos en linea (on-line). Para definirlos on line se entra con el comando [user] y se sale con CTRL-D

Comentarios

Entradas populares de este blog

SDR - Software Defined Radio - IIIb: Receptores RSP o MSI (MSI3001: MSI2500 + MSI001)

Antena exterior logarítmica UHF/VHF : Metronic 425010 - Ia Características

ESP32 LoRa for dummys - Inicio