Poplog es un entorno de desarrollo integrado de programación informática de compilación incremental y reflexiva y una plataforma de sistemas para los lenguajes de programación POP-11 , Common Lisp , Prolog y Standard ML . Fue creado originalmente en el Reino Unido para la enseñanza e investigación en inteligencia artificial , en la Universidad de Sussex , y posteriormente comercializado como un paquete comercial para el desarrollo, la enseñanza y la investigación de software. Fue una de las iniciativas apoyadas durante un tiempo por el Programa Alvey financiado por el gobierno del Reino Unido .
Fue licenciado originalmente desde 1982 hasta 1999 como software propietario , luego lanzado en 1999 como software de código abierto , bajo una combinación de licencias MIT y luego XFree86 .
Después de que se hubiera añadido un compilador incremental para Prolog a una implementación de POP-11 , se adoptó el nombre POPLOG, para reflejar que el sistema ampliado admitía la programación en ambos lenguajes. El nombre se mantuvo, como marca comercial de la Universidad de Sussex , cuando el sistema se amplió más tarde (a mediados de los años 1980) con compiladores incrementales para Common Lisp y Standard ML basados en un conjunto de herramientas para implementar nuevos lenguajes en la máquina virtual Poplog. [1] Las herramientas de compilación incremental accesibles para el usuario que permiten agregar compiladores para todos estos lenguajes también permiten realizar extensiones dentro de un lenguaje para proporcionar nuevas capacidades que no se pueden agregar a través de macros estándar que simplemente permiten que el texto nuevo sea equivalente a una porción más larga del texto anterior.
Durante algún tiempo después de 1983, Poplog fue vendido y mantenido internacionalmente como un producto comercial, en nombre de la Universidad de Sussex por Systems Designers Ltd (SDL), cuyo nombre cambió cuando cambió la propiedad. El trabajo principal de desarrollo continuó siendo realizado por un pequeño equipo en la Universidad de Sussex hasta 1998, mientras que el marketing, las ventas y el soporte (excepto para los usuarios académicos del Reino Unido, que trataron directamente con el equipo de Sussex) fueron realizados por SDL y sus sucesores (SD, luego SD-Scicon y luego Electronic Data Systems (EDS) [2] ) hasta 1991. En ese momento, una compra de la gerencia produjo una empresa derivada Integral Solutions Ltd (ISL), para vender y brindar soporte a Poplog en colaboración con la Universidad de Sussex, que retuvo los derechos del nombre 'Poplog' y fue responsable del desarrollo del software principal mientras fue un producto comercial. En 1992, ISL y la Universidad de Sussex ganaron un "Premio Smart" en reconocimiento a las ventas de Poplog por valor de $ 5 millones. [3] ISL y sus clientes utilizaron Poplog para muchos proyectos de desarrollo, especialmente el sistema de minería de datos Clementine de ISL, implementado principalmente en POP-11, utilizando potentes herramientas gráficas implementadas también en POP-11 que se ejecuta en el sistema X Window . Clementine tuvo tanto éxito que en 1998 ISL fue comprada por SPSS Inc., que había estado vendiendo el paquete de estadísticas y minería de datos SPSS para el cual necesitaban una mejor interfaz gráfica adaptada a usuarios expertos y no expertos. SPSS no deseaba vender y dar soporte a Poplog como tal, por lo que Poplog se convirtió en un paquete de software de código abierto gratuito , [4] alojado en la Universidad de Birmingham , que también había estado involucrada en el desarrollo después de 1991. Más tarde, IBM compró SPSS y Clementine ahora se comercializa y recibe soporte como SPSS Modeler . [5]
El lenguaje principal de Poplog es POP-11 . Se utiliza para implementar los demás lenguajes, todos ellos compilados de forma incremental , con un editor común integrado. En las versiones Linux/Unix, POP-11 proporciona soporte para gráficos 2D a través de X.
Poplog admite versiones compiladas de forma incremental de Common Lisp , POP-11 , Prolog y Standard ML . Un paquete independiente implementado por Robin Popplestone admite una versión de Scheme .
Poplog se ha utilizado tanto para la investigación académica como para la enseñanza de la inteligencia artificial y también para desarrollar varios productos comerciales, aparte de Clementine. En 1992, el ISL y la Universidad de Sussex ganaron un premio ICP Million Dollar en reconocimiento a que Poplog superó los 5 millones de dólares en ventas. [6]
POP-11 se implementó inicialmente en un ordenador DEC PDP-11 en 1976, y fue portado a VAX / VMS en 1980. Se convirtió en Poplog alrededor de 1982. Aunque las primeras ventas comerciales fueron para VAX/VMS, desde mediados de los años 1980, el principal trabajo de desarrollo de Poplog se realizó en ordenadores Sun SPARC con Solaris , aunque se vendieron varias versiones diferentes, incluidas versiones para HP-UX y una versión de 64 bits de Poplog para DEC Alpha con Digital UNIX . Después de aproximadamente 1999, cuando Poplog se volvió disponible como código abierto gratuito, la mayor parte del trabajo de desarrollo se realizó en la versión Linux, incluida la adaptación a Linux de 64 bits. En 2005 se realizó una adaptación parcial a Mac OS X en PowerPC .
Existe una versión para Windows , desarrollada originalmente para soportar Clementine, pero el subsistema gráfico de Unix/Linux no funciona en Windows Poplog. La versión de Windows de Clementine dependía de un paquete comercial que soportaba la funcionalidad X en Windows.
También existe un proyecto de código abierto [7] cuyo objetivo era producir una versión de Poplog más neutral en cuanto a plataformas, incluido Windows. El desarrollo más reciente de este proyecto incluye un componente de servidor web para la integración en aplicaciones Poplog y la colección de widgets OpenPoplog para admitir interfaces de usuario de cliente que se ejecutan en un navegador web. Waldek Hebisch creó en GitHub un proyecto de código abierto Poplog más centrado en la arquitectura AMD64/X86-64 de 64 bits: [1]. Esta es ahora la base de la versión 16 de Poplog alojada en la Universidad de Birmingham [2].
Información adicional sobre la historia y las características de Poplog se puede encontrar en las entradas de POP-2 y POP-11 . El arquitecto jefe de Poplog, responsable de muchas innovaciones relacionadas con hacer portable un sistema compilado incrementalmente y proporcionar soporte para una colección de lenguajes fue John Gibson, de la Universidad de Sussex, aunque el trabajo más temprano fue realizado por Steve Hardy. Chris Mellish ayudó con la implementación inicial de Prolog en POP-11. John Williams, trabajando bajo la supervisión de Jonathan Cunningham, implementó el subsistema Common Lisp. Robert Duncan y Simon Nichols agregaron Standard ML. Entre aproximadamente 1980 y 1991, el proyecto fue administrado por Aaron Sloman , hasta que fue a la Universidad de Birmingham , aunque continuó colaborando con Sussex e ISL en el desarrollo de Poplog después de eso. Desde 1999, ha sido responsable del sitio web principal de Poplog, así como de algunas de las extensiones que se encuentran allí, enumeradas en POP-11.
El subconjunto Prolog de Poplog se implementa utilizando el compilador incremental extensible de POP-11 , el lenguaje principal de Poplog, que es un lenguaje de propósito general similar a Lisp con una sintaxis más convencional. La implementación requirió que la máquina virtual Poplog se extendiera para brindar soporte para continuaciones de Prolog , variables de Prolog, el rastro de Prolog (que registra enlaces de variables que se pueden deshacer) y términos de Prolog. La implementación se vio limitada por la necesidad de permitir que las estructuras de datos se compartan con los otros lenguajes de Poplog, especialmente POP-11 y Common Lisp , brindando así soporte para una mezcla de estilos de programación.