La Enciclopedia Libre Universal en Español dispone de una lista de distribución pública, enciclo@listas.us.es

Micro-PROLOG

Artículo de la Enciclopedia Libre Universal en Español.

Saltar a navegación, buscar

micro-PROLOG es el nombre de una variante o dialecto del lenguaje PROLOG, inicialmente creada para microordenadores de 8 bits, popularizada a principios de la década de 1980. Fue usado en la enseñanza pública, normalmente como introducción a la programación lógica y a la Inteligencia Artificial.

Índice

[escribe] Historia

Las primeras versiones fueron implementadas en el Imperial College de Londres, por Frank McCabe y Richard Ennals, bajo la supervisión de Robert Kowalski entre 1979 y 1980.

[escribe] LPA micro-PROLOG

Comercializado a partir de 1980 por la empresa británica LPA Ldt. (Logic Programming Associates Limited), se comercializaron versiones de 8 bits para varios ordenadores, como el ZX Spectrum[1][2][3], el BBC Micro[4][5], el Enterprise[6], el MSX[7] y el Apple II, entre otros. También se lanzó una versión para el sistema operativo CP/M[8], tanto en su implementación para el microprocesador Zilog Z80 de 8 bits como en la realizada para el Intel 8086 de 16 bits (CP/M-86). En esta misma linea de implementaciones para sistemas de 16 bits se realizó una versión para QL-DOS[9], el sistema operativo de los Sinclair QL una versión para el sistema MS-DOS[10] y otra para sistemas UNIX[11]. Tras el LPA micro-PROLOG 3.1 aparecido en 1984, la misma compañía renombró el producto a LPA micro-PROLOG Professional[12] en 1985 y un poco más tarde a LPA PROLOG Professional[13]. Con posterioridad esta misma empresa abandonó la particular sintaxis del micro-PROLOG en sus siguientes productos.

[escribe] Derivados

La influencia de micro-PROLOG ha sido escasa en lenguajes posteriores, si bien algunos han adoptado algunas de sus características. El FRIL (Fuzzy Relational Inference Language) es una notable excepción, ya que es prácticamente compatible al 100% con la sintaxis del micro-PROLOG. Desarrollado en el seno de la Universidad de Bristol, la versión más reciente de este lenguaje es la 4.9, aunque desde 2003 no ha sido actualizado.

Su continuador más reciente ha sido hasta ahora el EDULOG[14], desarrollado a partir de 1999 y basado en la experiencia adquirida tras trabajar en el área educativa durante años con micro-PROLOG. Creado por el Grupo de Programación Funcional y Lógica, un equipo de trabajo integrado por docentes y alumnos de la Universidad Nacional de Luján y de la Universidad Nacional de la Pampa, ambas de Argentina, pretende superar los inconvenientes que plantea la utilización del habitualmente empleado interfaz SIMPLE y otros problemas observados en el apredizaje que derivan de las características sintácticas propias del lenguaje, como el abundante uso de paréntesis o el formato rígido de algunas consultas[15].

En 1986 Van Caneghem publicó el código fuente en PASCAL de un intérprete llamado Micro Prolog II en su libro "L'anatomie de Prolog" (ISBN 2-7296-0149-X). Un intérprete distribuido como código fuente, escrito para Modula-2 por Umberto Salsi, y llamado simplemente PROLOG[16], basa explícitamente su sintaxis en la del micro-PROLOG con interfaz SIMPLE, sin llegar a ser enteramente compatible con el mismo. Otro intérprete de micro-PROLOG en PASCAL fue realizado por Zoran Budimac en 1990[17].

[escribe] Relacionados

Dada la relación entre el Lisp y el micro-PROLOG, algunas implementaciones de Prolog en Lisp y en Scheme (un dialecto del Lisp) muestran gran similitud con el micro-PROLOG. En el libro "The implementation of Prolog" (Princeton University Press, 1993, ISBN 0-691-08757-1) de Patrice Boizumault aparece el código fuente en Lisp, de un intérprete de Prolog llamado MicroProlog II. Otro ejemplo de Prolog en Lisp bajo el nombre de MicroProlog es el de Ken Kahn, modificado para XLISP por David Betz; basado en otros códigos fuente anteriores de Par Emanuelson y Martin Nilsson, ha sido también modificado para ejecutarse bajo RefLisp por Bill Birch[18]. En ambos casos, la similitud no va más allá del nombre y la compatibilidad con el micro-PROLOG original es baja cuando no nula.

También es aparentemente similar, aunque en mucha mayor medida, el Schelog, lenguaje que fusiona características del Scheme y del PROLOG.

[escribe] Características

A diferencia del llamado PROLOG original (de la Universidad de Aix-Marsella), del PROLOG clásico (auspiciado por la Universidad de Edimburgo) en el que se basa el estándar ISO-PROLOG (empleado en las principales versiones, como el SWI-PROLOG de la Universidad de Amsterdam o el CIAO-PROLOG de la Universidad Politécnica de Madrid), el micro-PROLOG reduce al mínimo su complejidad, al objeto de ser accesible, perdiendo con ello versatilidad y potencia. Es junto al PROLOG estructurado (representado por el Turbo PROLOG de Borland y sus derivados, el Visual PROLOG, implementado por PDC o el EZY Prolog de EDMGROUP) el dialecto que más se separa del estándar.

Su sintaxis se basa en listas, de manera similar a Lisp, por lo que ambos lenguajes han sido frecuentemente relacionados. El elemento fundamental en micro-PROLOG es la lista, en el sentido más amplio del término, pues tanto los datos como los programas son listas. Un programa contiene, pues, siempre como mínimo una lista dentro de otra lista.

Entre sus características notables están sus concesiones a la programación imperativa en detrimento de la programación lógica y de la programación declarativa. Se distribuyó con varios añadidos, entre ellos los llamados interfaz SIMPLE (el más empleado), interfaz MITSI, interfaz EMITSI, interfaz MICRO y el interfaz DEC (que pretendía proporcionar una sintaxis similar a la del PROLOG para sistemas DEC PDP-10).

[escribe] Referencias

Artículos relacionados

Bibliografía
En inglés:

En español:

En otras lenguas:

Otras fuentes de información

Notas

  1. micro-PROLOG 1.0 para Spectrum, fichero .TZX, imagen de cinta, para emulador.
  2. micro-PROLOG 1.0 para Spectrum, fichero .TAP, imagen de cinta, para emulador.
  3. micro-PROLOG 1.2 para Spectrum, fichero .SCL, imagen de disco TR-DOS, para emulador.
  4. micro-PROLOG 3.1 para BBC Micro, fichero .SSD, imagen de disco para emulador.
  5. micro-PROLOG 3.1 para BBC Micro, fichero .ROM, para emulador.
  6. micro-PROLOG 3.1 para Enterprise, para ser ejecutado bajo IS-DOS.
  7. micro-PROLOG 2.0 para MSX, para ser ejecutado bajo MSX-DOS.
  8. micro-PROLOG 2.12 Programmer's Reference Manual. CP/M Version.
  9. Citado como "de próxima aparición" en Programación en Micro-PROLOG: un lenguaje de la 5ª generación, página 13, Hugh De Saram, 1987, ISBN 84-283-1531-0, ISBN 978-84-283-1531-9
  10. micro-PROLOG 3.1 Programmer's Reference Manual. CP/M and MS-DOS Versions.
  11. Citado en Programación en Micro-PROLOG: un lenguaje de la 5ª generación, página 13, Hugh De Saram, 1987, ISBN 84-283-1531-0, ISBN 978-84-283-1531-9
  12. micro-PROLOG Professional 1.2 para MS-DOS
  13. La empresa distribuye en su web oficial como freeware la última de las versiones que lanzó, el LPA PROLOG Professional 3.8 para MS-DOS
  14. Tesis sobre EDULOG, trabajo de Daniela L. Godoy
  15. Un intérprete Prolog con fines educativos, trabajo de Jorge A. Peri y Daniela L. Godoy
  16. Interprete PROLOG - Umberto Salsi
  17. Budimac, Z., An Implementation of micro-PROLOG Interpreter in Pascal, Master Thesis, University of Novi Sad, Novi Sad, January 1991, 182 pages. Citado en Dr. Zoran Budimac - Curriculum Vitae
  18. rflsp2_3.shr, código fuente en Lisp
¡Ayúdanos a ampliar este artículo!
Este artículo es, por ahora, sólo un esbozo. Ampliándolo ayudarás a mejorar la Enciclopedia Libre.
Para ello escribe aquí.
Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas
Crear un libro