Lisp

Lisp fue diseñado a finales de los años 50 por el pionero de la Inteligencia Artificial (IA) John McCarthy mientras trabajaba en el MIT (Instituto Tecnológico de Massachusetts). Es uno de los lenguajes más antiguos aún en uso. Aunque (a diferencia de otros lenguajes posteriores usados en IA, como Prolog) no contiene mecanismos de inferencia intrínsecos, éstos son fáciles de implementar. La estructura de datos esencial en Lisp es la lista, una secuencia ordenada de elementos que pueden ser átomos (funciones, nombres o números) u otras listas. Las listas son esenciales en IA debido a su flexibilidad. Y desde luego son esenciales en Lisp, cuyo nombre deriva, precisamente de List processing.

El Lisp original sólo tenía unas cuantas funciones de manipulación de listas con las cuales se debía ir construyendo otras funciones, cada vez de mayor complejidad. Las versiones actuales contienen muchas más funciones que facilitan la programación. Aunque existen muchos dialectos de Lisp, los más usados actualmente son Commom Lisp y Scheme (que tiene su propia sección en este sitio). Logo también es un lenguaje con gran influencia de Lisp.

Lisp es también muy usado como lenguaje de extensión de aplicaciones (ejemplos: Emacs Lisp, AutoLISP).

Una buena página sobre Lisp es The Association of Lisp Users.

ABCL (Armed Bear Common Lisp) es una implementación completa de Common Lisp que incluye un intérprete y un compilador que se ejecuta en la máquina virtual de Java. Especialmente interesante para usarlo como lenguaje de extensión de una aplicación hecha en Java o para acceder a los métodos de Java desde Lisp. Las plataformas explícitamente soportadas son Windows, Linux, MacOS X, OpenBSD, NetBSD, FreeBSD y Google App Engine. En la página oficial está el código fuente (e instrucciones para compilarlo) y en esta otra se puede descargar una versión precompilada para Java 5.

Allegro Common Lisp es un producto comercial de Franz Inc., pero existe una versión gratuita llamada "Free Express Edition" con un tamaño de pila limitado a 60 MB. Para bajarlo hay que rellenar un formulario con la dirección electrónica o algunos datos más para obtener asistencia técnica limitada. Hay versiones Windows, MacOS X y Unix (incluyendo Linux y FreeBSD).

CLiCC (The Common Lisp to C Compiler) es un compilador de Common Lisp a C (el autor no lo considera un traductor porque no está pensado para producir programas mantenibles en C). Parece abandonado en fase beta. Se distribuye el código fuente (en Common Lisp, así que para instalarlo hace falta otro sistema Common Lisp).

CLISP es una implementación GNU de Common Lisp que se puede ejecutar en la mayoría de estaciones Unix (incluyendo Linux) y en otros sistemas operativos (Windows). Incluye intérprete y compilador. El interfaz está traducido a varios idiomas, incluyendo español.

Clojure es un dialecto de Lisp que produce programas para la máquina virtual de Java y, en una fase más temprana de desarrollo, para .NET. Tiene una licencia libre (Eclipse Public License 1.0).

Clozure CL es una implementación libre de Common Lisp derivada de Macintosh Common Lisp (MCL), de Digitool. Funciona en Mac OS X, Linux, FreeBSD, Solaris y Windows.

CMUCL es una eficiente implementación de Common Lisp para Unix que incluye un sofisticado compilador de código nativo.

Corman Lisp es una versión comercial de Common Lisp para Windows desarrollada por Corman Technologies. El entorno integrado sólo se puede usar para evaluación y expira a los 30 días. El compilador y run-time pueden usarse indefinidamente de forma no comercial. Se distribuye también el código fuente.

DotLisp es un dialecto de Lisp para .NET. El autor, Rich Hickey, recomienda usar mejor Clojure, en el que ha trabajado después.

ECL (Embeddable Common-Lisp) es una implementación libre de Common Lisp con intérprete y compilador de bytecodes y que también compila código Lisp con cualquier compilador C/C++. Se puede instalar en Linux, FreeBSD, NetBSD, OpenBSD, Solaris y Windows. Aunque en la página oficial solo se distribuye el código fuente hay paquetes binarios en los repositorios de Ubuntu (y posiblemente otros sistemas).

Franz Lisp for 386 /BSD, una implementación para BSD de la variante Franz Lisp.

GCL es la versión oficial de Common Lisp del proyecto GNU. Está diseñado para hacer uso del compilador C del sistema para generar código nativo. Se distribuyen el código fuente y paquetes precompilados para Windows con MinGW32 y Debian GNU/Linux.

Hedgehog es una muy concisa implementación de un lenguaje tipo Lisp para dispositivos integrados o de gama baja. Se distribuye el código fuente y un paquete precompilado para Debian i386. Bien documentado en el mismo sitio web.

Jatha es una biblioteca de Java que implementa un gran subconjunto de Common LISP. También se puede ejecutar como un intérprete independiente.

librep es una biblioteca compartida de Unix que implementa un dialecto de Lisp ligero, razonablemente rápido y altamente extensible. Inspirado en Emacs Lisp, posteriormente incorporó características de distintas versiones de Scheme y Commom Lisp. Puede usarse tanto como lenguaje de extensión de aplicaciones como de forma independiente. Se distribuye el código fuente.

LispWorks Personal Edition es una completa implementación gratuita de Common Lisp con entorno de desarrollo para Windows, Macintosh y Linux. Es una versión limitada de un producto comercial. Para descargarlo hay que rellenar un formulario.

Lush (Lisp Universal SHell) es un lenguaje de programación orientado a objetos diseñado para investigadores e ingenieros interesados en aplicaciones gráficas y numéricas a gran escala. Su sintaxis es tipo Lisp y permite usar también código C. Es libre y para GNU/Linux, Solaris, Irix, y Windows con Cygwin.

newLISP es un lenguaje de script de propósito general, apropiado para desarrollar aplicaciones web y programas en el dominio de la inteligencia artificial y la estadística. Es un dialecto de Lisp más pequeño que la mayoría de implementaciones de Scheme. Además del código fuente se distribuyen versiones para Win32, Linux y MacOS X.

Nu es un intérprete orientado a objetos con la sistaxis de Lisp pero semánticamente más cercano a Ruby. Principalmente desarrollado para Mac OS X, hay también ports (experimentales) para Linux e iPhone.

OpenLisp es una implementación completa de la variante de Lisp ISLIP. Está pensado principalmente para usar Lisp en aplicaciones hechas con otros lenguajes. Es gratuito para uso no comercial. Hay versiones para Windows y Linux, entre otras plataformas.

Pico Lisp es un dialecto minimalista de Lisp basado en una máquina virtual. Se distribuye el código fuente que se puede compilar en GNU/Linux de 32 bits, FreeBSD, Mac OS X (Darwin) y Cygwin/Win32.

Poplog es un sistema de programación que incluye varios lenguajes: Pop-11 (es el principal, en el que están escritos los demás), Common Lisp, Prolog y Standard ML. Se puede instalar en Linux y otros Unix y, con ayuda de andLinux, en Windows.

Power Lisp, de Corman Technologies, es una versión de Common Lisp para PowerMac o 68k Mac, gratuita para uso no comercial. Se distribuye también el código fuente.

ProLisp es un pequeño intérprete de Lisp escrito en C++. Se puede descargar el código fuente para compilarlo en Linux.

RefLisp es un pequeño intérprete de Lisp para sistemas tipo Unix y Windows con Cygwin.

SBCL (Steel Bank Common Lisp) es un compilador de Common Lisp de altas prestaciones. Es libre y además del código fuente se distribuyen paquetes precompilados para varias versiones de Unix incluyendo Linux y Darwin (Mac OS/X) y una versión experimental para Windows.

Star Sapphire Common LISP es una implementación de Common Lisp para MS-DOS que fue muy usada en los años 90. Actualmente se distribuye gratuitamente como shareware con derechos de autor y sin asistencia técnica. Y sólo para uso personal y no comercial.

ThinLisp es un eficiente compilador de Common Lisp a C. Requiere el uso de otro entorno Lisp para desarrollar el programa que, una vez terminado se puede traducir a C con ThinLisp. Se distribuye el código fuente que parece que se puede instalar en cualquier sistema Unix (incluyendo Mac OS X) o Windows con Cygwin.

Ufasoft Common Lisp es un entorno de desarrollo para Windows que incluye intérprete de línea de comandos y entorno integrado. Es un fork de CLISP.

WCL es una versión de Common Lisp en forma de biblioteca compartida de Unix que puede ser enlazada desde código Lisp o C para producir aplicaciones eficientes. Se distribuye el código fuente.

XLISP es un superconjunto de Scheme con extensiones para soportar programación orientada a objetos. Se distribuye en forma de código fuente.

XLISP-PLUS es una mejora de Xlisp 2.1 destinada exclusivamente a uso no comercial. Hay ejecutables para Windows, OS/2, MS-DOS y Macintosh (se puede compilar el código fuente para otras plataformas).


Última revisión: 10 de octubre de 2009

Código XHTML 1.0 validado