QUE ES PROLOG?
SWI-Prolog es una implementación en código abierto (en inglés, open source) del lenguaje de programación Prolog. Su autor principal
es Jan Wielemaker. En desarrollo
ininterrumpido desde 1987,
SWI-Prolog posee un rico conjunto de características, bibliotecas (incluyendo su propia biblioteca para GUI, XPCE),
herramientas (incluyendo unIDE) y una documentación extensiva.
SWI-Prolog funciona en las plataformas Unix, Windows y Macintosh.
El nombre
SWI deriva de Sociaal-Wetenschappelijke
Informatica ("Informática
de Ciencias Sociales"), el antiguo nombre de un grupo de investigación en
la Universidad de Ámsterdam en el que Wielemaker está integrado.
El nombre de ese grupo se cambió posteriormente a HCS.
PEQUEÑA HISTORIA

Inicialmente
se trataba de un lenguaje totalmente interpretado hasta que, en 1983, David H.D. Warren desarrolló un compilador capaz de
traducir Prolog en un conjunto de
instrucciones de una máquina abstracta denominada Warren Abstract Machine, o
abreviadamente, WAM. Desde
entonces Prolog es un lenguaje semi-interpretado.
Si
bien en un principio se trataba de un lenguaje de uso reducido, la aparición de
intérpretes del mismo para microordenadores de 8 bits (ej: micro-PROLOG) y para
ordenadores domésticos de 16 bits (ej: Turbo
Prolog de Borland, entre otros
muchos) a lo largo de la década de 1980 contribuyó notablemente a su
popularización. Otro importante factor en su difusión
fue la adopción del mismo para el desarrollo del proyecto de la quinta generación de computadoras a principios de la década de los 80, en cuyo contexto se desarrolló la
implementación paralelizada del lenguaje llamada KL1 y
del que deriva parte del desarrollo moderno de Prolog.
Las
primeras versiones del lenguaje diferían, en sus diferentes implementaciones,
en muchos aspectos de sus sintaxis,
empleándose mayormente como forma normalizada el dialecto propuesto por la
Universidad de Edimburgo , hasta que en 1995 se estableció un
estándar ISO (ISO/IEC 13211-1), llamado ISO-Prolog.
Prolog
se enmarca en el paradigma de los lenguajes lógicos y declarativos,
lo que lo diferencia enormemente de otros lenguajes más populares tales como Fortran, Pascal, C o
Java.