Articulo de referencia

Franz Lisp

En programación informática , Franz Lisp es un sistema de lenguaje de programación Lisp discontinuado , escrito en la Universidad de California, Berkeley (UC Berkeley, UCB) por ...

En programación informática , Franz Lisp es un sistema de lenguaje de programación Lisp discontinuado , escrito en la Universidad de California, Berkeley (UC Berkeley, UCB) por el profesor Richard Fateman y varios estudiantes, basado en gran medida en Maclisp y distribuido con la Berkeley Software Distribution (BSD) para la minicomputadora VAX de Digital Equipment Corporation (DEC) . [ 1 ] Aprovechando la popularidad del paquete BSD, Franz Lisp fue probablemente el sistema Lisp más distribuido y utilizado de las décadas de 1970 y 1980. [ 2 ]

El nombre es un juego de palabras que hace referencia al compositor y pianista Franz Liszt .

Fue escrito específicamente para servir de plataforma para ejecutar el sistema de álgebra computacional Macsyma en VAX. El proyecto comenzó a finales de 1978, poco después de que la UC Berkeley recibiera su primer VAX 11/780 (llamado Ernie CoVax, en honor a Ernie Kovacs , el primero de muchos sistemas con nombres ingeniosos en la UCB). Franz Lisp estaba disponible gratuitamente para centros educativos y también se distribuía en Eunice , un emulador de Unix de Berkeley que se ejecutaba en VAX VMS .

Historia

En el momento de la creación de Franz Lisp, el sistema de álgebra computacional Macsyma se ejecutaba principalmente en un DEC PDP-10 . El espacio de direcciones limitado de este ordenador causaba dificultades. Entre los intentos de solución se incluían adaptaciones de Maclisp a máquinas Multics o Lisp , pero incluso de haber tenido éxito, estas soluciones solo habrían sido viables para el Instituto Tecnológico de Massachusetts (MIT), ya que estas máquinas eran costosas y poco comunes. Franz Lisp fue el primer ejemplo de un marco de trabajo que permitía ejecutar grandes programas Lisp fuera del entorno de las máquinas Lisp; Macsyma se consideraba entonces un programa muy grande. Tras su adaptación a Franz Lisp, Macsyma se distribuyó a unos 50 centros bajo una licencia restringida por el interés del MIT en convertir Macsyma en software propietario . La versión de VAX Macsyma que se ejecutaba en Franz Lisp se denominó Vaxima. Cuando Symbolics Inc. compró los derechos comerciales de Macsyma al MIT para venderlos junto con sus máquinas Lisp, finalmente se vio obligada a vender Macsyma también para ordenadores DEC VAX y Sun Microsystems , pagando regalías a la Universidad de California por el uso de Franz Lisp.

Otras implementaciones de Lisp para el VAX fueron NIL del MIT (que nunca fue completamente funcional), Portable Standard Lisp de la Universidad de Utah , VAX Lisp de DEC, Interlisp -VAX de Xerox y Le Lisp .

En 1982, se inició la adaptación de Franz Lisp al procesador Motorola 68000. En concreto, se adaptó a un prototipo Sun-1 fabricado por Sun Microsystems , que ejecutaba una variante de Berkeley Software Distribution (BSD) Unix llamada SunOS . En 1986, en la Universidad de Purdue , Franz Lisp se adaptó a la plataforma CCI Power 6/32 , cuyo nombre en clave era Tahoe .

Los principales contribuyentes al desarrollo de Franz Lisp en la Universidad de California en Berkeley fueron John K. Foderaro, Keith Sklower y Kevin Layer.

Se creó una empresa para brindar soporte a Franz Lisp llamada Franz Inc., fundada por Richard Fateman , John Foderaro, Fritz Kunze, Kevin Layer y Keith Sklower, todos vinculados a la UC Berkeley. Posteriormente, el desarrollo e investigación de Franz Lisp continuaron durante algunos años, pero la aceptación de Common Lisp redujo considerablemente la necesidad de Franz Lisp. El primer producto de Franz Inc. fue Franz Lisp ejecutándose en varias estaciones de trabajo basadas en Motorola 68000. Incluso se realizó una adaptación de Franz Lisp para VAX VMS para el Laboratorio Nacional Lawrence Berkeley . Sin embargo, casi de inmediato, Franz Inc. comenzó a trabajar en su implementación de Common Lisp, Allegro Common Lisp .

Características

El intérprete de Franz Lisp fue escrito en C y Franz Lisp. Su compilación se realizó utilizando únicamente el compilador de C. El compilador de Franz Lisp, escrito íntegramente en Franz Lisp, se llamó Liszt, completando así el juego de palabras con el nombre del compositor Franz Lisp .

Algunas características destacadas de Franz Lisp fueron la intercambiabilidad de los arreglos con los de Fortran y una interfaz de funciones externas (FFI) que permitía la interoperabilidad con otros lenguajes a nivel binario. Muchos de los métodos de implementación se tomaron prestados de Maclisp: la organización de memoria bibop (Big Bag Of Pages), la representación única de enteros pequeños mediante punteros a valores fijos en campos y la aritmética rápida.

Aplicaciones importantes

  • Franz Lisp se utilizó como lenguaje de ejemplo en la primera edición de Lispcraft de Robert Wilensky.
  • Una implementación de OPS5 por parte de DEC en Franz Lisp se utilizó como base para un sistema basado en reglas para configurar los pedidos de sistemas informáticos VAX-11 y fue importante para las ventas de estos ordenadores por parte de DEC.
  • Jerga: un simulador de circuitos utilizado para diseñar y probar el microprocesador RISC-I, que utiliza un conjunto reducido de instrucciones.
  • Como derivado: lenguaje de programación Cadence Design Systems Skill

Véase también

  • PC-LISP es una implementación de Franz Lisp para MS-DOS que todavía se ejecuta en emuladores y Windows .

Referencias

  1. "Historia de Franz Inc." . Franz Inc . Consultado el 23 de diciembre de 2018 .
  2. Gabriel, Richard P. (mayo de 1985). Rendimiento y evaluación de sistemas Lisp (PDF) . Cambridge, Massachusetts : MIT Press ; Computer Systems Series. págs. 60, 294. ISBN  0-262-07093-6LCCN 85-15161 . Archivado del original (PDF) el 21/12/2004. Evolucionó hasta convertirse en uno de los dialectos de Lisp más comunes en máquinas Unix. 
  • Código fuente de Franz Lisp Opus 38.92 para VAX
  • Otros recursos de Franz Lisp
  • Franz Lisp en la Historia de LISP