* Lisp (o StarLisp ) es un lenguaje de programación , un dialecto del lenguaje Lisp . [1] Fue concebido en 1985 por dos empleados de Thinking Machines Corporation , Cliff Lasser y Steve Omohundro , como una forma de proporcionar un lenguaje eficiente pero de alto nivel para programar la naciente Connection Machine (CM).
Paradigmas | Multi-paradigma : funcional , procedimental , reflexivo , meta , paralelo |
---|---|
Familia | Ceceo |
Diseñada por | Cliff Lasser, Steve Omohundro |
Desarrollador | Thinking Machines Corporation |
Apareció por primera vez | 1986 |
Disciplina de mecanografía | Dinámico , fuerte |
Alcance | Estático, léxico |
Lenguaje de implementación | Lisp común |
Plataforma | Máquina de conexión |
SO | Máquina de conexión |
Influenciado por | |
Lisp , Lisp común | |
Influenciado | |
C* |
Historia
Preludio
En el momento de la conexión de la máquina estaba siendo diseñado y construido, el único idioma que se está desarrollando activamente porque era un montaje lenguaje -level nombrado PARIS ( Par alelo I nstruction S et). Se hizo evidente que se necesitaba una mejor manera de programar la máquina y de forma rápida. Esperar la finalización de Connection Machine Lisp (CM Lisp), una implementación del lenguaje de programación de muy alto nivel Lisp con extensiones de computación paralela ) no era una opción. CM Lisp había sido propuesto por Danny Hillis y se esperaba que el desarrollo continuara durante varios años más.
Desarrollo
Inicialmente se desarrolló un intérprete * Lisp . Rápidamente se hizo evidente que se necesitaría un compilador * Lisp , traduciendo * Lisp en Lisp y PARIS, para alcanzar la velocidad giga FLOPS que era alcanzable en teoría por una máquina de conexión. El compilador * Lisp fue escrito por Jeff Mincy y se lanzó por primera vez en 1986. Alan Egolf, entonces empleado de United Technologies , y JP Massar, un empleado de Thinking Machines , desarrollaron una aplicación que alcanzaba más de dos gigaFLOPS, un simulador de estela de helicópteros. , en 1987. [2]
Un * Lisp Simulator, un emulador destinado a ejecutar código * Lisp en máquinas estándar no paralelas, fue desarrollado al mismo tiempo por JP Massar. Este simulador todavía existe, [3] y fue transferido a Common Lisp (CL) del American National Standards Institute (ANSI) en 2001. Existe una versión anterior escrita en el CL original, en la Carnegie Mellon University (CMU) de inteligencia artificial (AI) repositorio. [4]
Cliff Lasser, Jeff Mincy y JP Massar trabajaron en versiones posteriores de * Lisp, que incluían mejoras significativas en sus funciones y rendimiento, hasta 1989. * Lisp se implementó en Thinking Machines CM5 alrededor de 1990-1991 por JP Massar y Mario Bourgoin .
Implementación
StarLisp se escribió en Common Lisp (CL) y, por lo tanto, tenía todo el poder de CL detrás. Para usar una máquina de conexión, se necesitaba un host o un front-end . Para usar * Lisp, ese front-end tenía que ejecutar CL. Las máquinas de Symbolics que utilizan estaciones de trabajo Genera y Sun Microsystems que ejecutan Lucid Common Lisp de Lucid Inc. se utilizaron para operar * Lisp.
StarLisp operado en P an paralelo Var iable s (PVars). Estos representaban la memoria de la máquina de conexión y eran esencialmente vectores : un elemento por procesador CM (o procesador virtual).
StarLisp consistía en operaciones estándar en PVARS, como la suma y multiplicación de vectores, junto con primitivas de comunicación que esencialmente reordenaban los elementos de un PVAR utilizando el hardware de comunicación del CM para enrutar de manera óptima los datos.
Referencias
- ↑ McJones, Paul (19 de abril de 2015). "Lisps paralelos: máquina de conexión * Lisp (StarLisp)" . Museo de Historia de la Computación . Consultado el 29 de diciembre de 2018 .
- ^ Implementación de estela sin helicópteros en arquitecturas informáticas avanzadas, Conferencia internacional sobre investigación básica de helicópteros, 1988 .
- ^ "Franz Inc" . Franz Inc . Archivado desde el original el 6 de marzo de 2005 . Consultado el 26 de junio de 2005 .
- ^ Massar, JP (13 de febrero de 1995). "STARSIM: Thinking Machines '* Lisp Simulator" . Repositorio de Inteligencia Artificial de la Universidad Carnegie Mellon (CMU) . Consultado el 29 de diciembre de 2018 .