Prolog_introduccion

Páginas: 26 (6497 palabras) Publicado: 4 de noviembre de 2013
Tutorial básico de programación en Prolog
Autor: Angel Fernández Pineda



Introducción
o Requisitos
o El entorno de desarrollo Prolog
o Compatibilidad ISO-Prolog
o Créditos

Introducción
Este tutorial de programación en Prolog constituye la primera entrega de una serie de cursillos orientados
a aquellas personas que desconocen la programación declarativa relacional y su lenguajerey: Prolog.
Hablamos de programación lógica relacional porque existe toda una gama de lenguajes que siguen este
paradigma, si bien, casi todos ellos están basados en Prolog. Quizás, La familia más importante de estos
lenguajes sean los denominados CLP - Constraint Logic Programming, que son exactamente iguales a
Prolog pero con la capacidad adicional de resolver sistemas de ecuaciones.
Elconjunto de cursos está organizado de forma que las características más básicas y sencillas se
encuentran en este primer tutorial. El resto se adentra en cuestiones avanzadas que raramente se suelen
explicar pero cuyo dominio es fundamental para trabajar profesionalmente con Prolog, y para obtener
ventajas sobre otros paradigmas de programación.
¿ Es usted escéptico respecto a Prolog ?. El típicotópico muestra este lenguaje como poco eficiente, sin
utilidad práctica alguna, complicadísimo de manejar, etc. Sin ánimo de ofender, si Ud. encuentra Prolog
imposible de entender, es que Ud. no es un profesional de la informática, porque la verdad es que
requiere una cierta formación en lógica matemática y en técnicas de programación. Pero no se desanime,
porque otro objetivo de este curso esayudarle a superar todos los desafios.
En cuanto a la escasa utilidad práctica de Prolog podemos citar:













Generación de CGI's.
Acceso a bases de datos desde páginas Web.
Paralelización automática de programas.
Programación distribuida y multiagente.
Sistemas expertos e inteligencia artificial.
Validación automática de programas.
Procesamiento de lenguajenatural.
Prototipado rápido de aplicaciones.
Bases de datos deductivas.
Interfacing con otros lenguajes como Java y Tcl/Tk.
... (la lista es interminable) ...

En cuanto a la excasa eficiencia hemos de admitir que Prolog es aproximadamente diez veces más lento
que el lenguaje C. Pero también hemos de admitir que un programa en Prolog ocupa aproximadamente
diez veces menos, en líneas decódigo y tiempo de desarrollo, que el mismo programa escrito en C.
Además las técnicas de optimización de código en Prolog apenas están emergiendo en estos momentos.
Algunos experimentos (optimistas) hacen pensar que la velocidad de ejecución de Prolog podría
aproximarse a la de C en esta década.

Requisitos
Para hacer unos primeros pinitos en Prolog se necesita unicamente dos cosas: un editorde texto y un
entorno de desarrollo Prolog. Como editor de texto resulta altamente recomendable el uso de Emacs. A
continuación indicamos algunos links donde puedes descargarte entornos de desarrollo:




CIAO Prolog.
SWI Prolog.

Este curso también supone que el lector está familiarizado con:





La programación imperativa tradicional.
Tipos abstractos de datos, comolistas y árboles.
Técnicas de programación, como la recursividad.

El entorno de desarrollo Prolog
Prolog es un lenguaje de programación seminterpretado. Su funcionamiento es muy similar a Java. El
codigo fuente se compila a un código de byte el cuál se interpreta en una máquina virtual denominada
Warren Abstract Machine (comúnmente denominada WAM).
Por eso, un entorno de desarrollo Prolog secompone de:






Un compilador. Transform a el código fuente en código de byte. A diferencia de Java, no existe
un standard al respecto. Por eso, el codigo de byte generado por un entorno de desarrollo no
tiene por que funcionar en el intérprete de otro entorno.
Un intérprete. Ejecuta el código de byte.
Un shell o top-level. Se trata de una utilidad que permite probar los...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS