Remove ads
De Wikipedia, la enciclopedia libre
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.
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.
Comercializado a partir de 1980 por la empresa británica LPA Ldt. (Logic Programming Associates Limited), se realizaron versiones de 8 bits para varios ordenadores, como el ZX Spectrum,[1][2] el Commodore 64,[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 línea de implementaciones para sistemas de 16 bits se realizó una versión para QDOS,[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.
Con posterioridad han aparecido algunas versiones no oficiales, como la realizada para el sistema operativo de disco TR-DOS del ZX Spectrum por Nicolas Rodionov.[14]
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 basa explícitamente su sintaxis en él, sin ser no obstante plenamente compatible con el 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,[15] 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 interface SIMPLE y otros problemas observados en el aprendizaje 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.[16]
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,[17] basa explícitamente su sintaxis en la del micro-PROLOG con interface 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.[18]
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.[19] 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.
A diferencia del PROLOG original (de la Universidad de Aix-Marsella), del ISO-PROLOG (basado en el modelo auspiciado por la Universidad de Edimburgo) empleado en las principales versiones, como el SWI-Prolog de la Universidad de Ámsterdam 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, como 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 interface SIMPLE (el más empleado), interface MITSI, interface EMITSI, interface MICRO y el interface DEC (que pretendía proporcionar una sintaxis similar a la del PROLOG para sistemas DEC PDP-10).
En inglés:
En español:
En otras lenguas:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.