fbpx
Wikipedia

Maclisp

MACLISP (o Maclisp, a veces llamado MacLisp o MacLISP) es un dialecto del lenguaje de programación Lisp. Se originó en el Proyecto MAC[1]​ del MIT (del cual se derivó su prefijo) a fines de la década de 1960 y se basó en Lisp 1.5.[2]Richard Greenblatt fue el principal desarrollador de la base de código original para el PDP-6; Jon L. White fue responsable de su posterior mantenimiento y desarrollo. El nombre 'Maclisp' comenzó a utilizarse a principios de la década de 1970 para distinguirlo de otras bifurcaciones de PDP-6 Lisp, especialmente BBN Lisp.

Historia

Maclisp es un descendiente de Lisp 1.5.[3]​ Maclisp se aleja de Lisp 1.5 utilizando una "celda de valor" para acceder y almacenar los valores dinámicos de las variables;[4]​  Lisp 1.5 utilizó una búsqueda lineal de una lista de asociación para determinar el valor de una variable.[5]​ La evaluación de la variable Maclisp es más rápida pero tiene una semántica variable diferente. Maclisp también empleó macros de lector para hacer una entrada y salida más legibles. En lugar de ingresar  ((QUOTE A)), uno podría ingresar 'A para obtener la misma expresión s. Aunque ambas implementaciones ponen funciones en la lista de propiedades, Maclisp usa una sintaxis diferente para definir funciones.[6]​ Maclisp también tiene una característica de carga bajo demanda.[7]

Maclisp comenzó en las computadoras PDP-6 y PDP-10  de Digital Equipment Corporation que ejecutan el Sistema de Tiempo compartido incompatible (ITS); más tarde fue portado a todos los demás sistemas operativos PDP-10, por ejemplo, TOPS-10 y TOPS-20. La implementación original era en lenguaje ensamblador, pero una implementación posterior en Multics usó PL/I. Maclisp se desarrolló considerablemente en su tiempo de vida. Se agregaron características principales, que en otros sistemas de idiomas normalmente corresponderían a los principales números de publicación.[cita requerida]

Maclisp se usó para implementar el programa de álgebra simbólica Macsyma; El desarrollo de Macsyma también generó una serie de características[¿cuál?] en Maclisp. El programa SHRDLU blocks-world fue escrito en Maclisp, por lo que el lenguaje fue ampliamente utilizado en la comunidad de investigación de inteligencia artificial a principios de los años ochenta. También se usó para implementar otros lenguajes de programación, como Planner y Scheme. Multics Maclisp fue utilizado para implementar los primeros Emacs basados en Lisp.

Maclisp fue una implementación influyente de Lisp, pero ya no se mantiene activamente. Ahora se ejecuta en emuladores PDP-10 y se puede utilizar para experimentar con los primeros programas de IA.

Características

Maclisp comenzó con un número pequeño y fijo de tipos de datos: celda de cons , átomo (más tarde llamado "símbolo"), número entero y número de coma flotante. Las ediciones posteriores incluyeron: matrices, que nunca fueron tipos de datos de primera clase; números enteros de precisión arbitraria (bignums); instrumentos de cuerda; y tuplas Todos los objetos (excepto los interiores) se implementaron como punteros, y su tipo de datos se determinó por el bloque de memoria al que apuntaba, con un caso especial para números pequeños (interiores).

Los programas pueden ser interpretados o compilados. El comportamiento compilado fue el mismo que el interpretado, excepto que las variables locales eran léxicas por defecto en el código compilado, y no se realizó ninguna comprobación de errores para operaciones en línea como CAR y CDR. El compilador Ncomplr (mediados de la década de 1970) introdujo un rápido soporte numérico para el mundo Lisp, generando instrucciones de máquina para la aritmética en lugar de llamar a las rutinas interpretativas que se distribuyen en el tipo de datos. Esto hizo que la aritmética de Lisp fuera comparable a la velocidad de Fortran para las operaciones escalares (aunque la implementación de array y bucle de Fortran se mantuvo mucho mejor).

La versión original estaba limitada por la dirección de palabra de 18 bits del PDP-10, y se invirtió un esfuerzo considerable para mantener la implementación simple y eficiente. Multics Maclisp tenía un espacio de direcciones mucho más grande, pero era costoso de usar. Cuando se excedieron la memoria y la potencia de procesamiento del PDP-10, se inventó la Máquina Lisp :  Lisp Machine Lisp es el descendiente directo de Maclisp. Varios otros dialectos de Lisp también estaban en uso, y la necesidad de unificar la comunidad resultó en el lenguaje Common Lisp moderno.

Nombre

MACLISP fue nombrado para el Proyecto de MAC, y no está relacionado con la computadora Macintosh ("Mac") de Apple, que es anterior por décadas. Los diversos sistemas de Lisp para Macintosh no tienen ninguna similitud particular con Maclisp.[cita requerida]

Referencias

  1. Levy, Steven (1984). Hackers: Heroes of the Computer Revolution. Doubleday. ISBN 0-385-19195-2. 
  2. Project MAC Progress Report IV: July 1966 to July 1967, n.d., p. 19, «The higher-level language used for most of the vision laboratory program is the PDP-6 LISP System. This system is based chiefly on the LISP 1.5 programming language, but has been extensively modified in a number of ways. These include many new functions and services, including facilities for linking with programs written in other languages.» .
  3. Moon, 1974, p. 1
  4. Moon, 1974, p. 47
  5. Lisp 1.5 p. 13, evaluating an atom e in the environment a is done with (cdr (assoc e a)). That involves a linear search of the association list a. A more involved description with global constants and errors is given on p. 71; it does a linear search of the property list before searching the association list.
  6. Maclisp uses defun; Lisp 1.5 uses define.
  7. Moon, 1974, p. 107; the autoload property.

Enlaces externos

  • http://www.softwarepreservation.org/projects/LISP/maclisp_family/ contains a bibliography of Maclisp.
    • John L. White. An Interim LISP User's Guide. Artificial Intelligence Memo No. 190, Project MAC, Massachusetts Institute of Technology, March 1970, 87 pages. ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-190.pdf states "'MACLISP' refers to the PDP/6 implementation of the programming language LISP in use at the Artificial Intelligence Group of Project MAC."
    • "In 1973 and 1974, David A. Moon led an effort to implement MacLisp on the Honeywell 6180 under Multics. As a part of this project he wrote the first truly comprehensive reference manual for Maclisp, which became familiarly known as the 'Moonual'." [Steele and Gabriel 1993]
    • Jon L. White [JONL], Eric Rosen [ECR], Richard M. Stallman [RMS], Guy L. Steele Jr. [GLS], Howard I. Cannon [HIC], Bob Kerns [RWK]. LISP NEWS. MacLisp release notes.
    • Jon L. White. LISP: Program is Data: A Historical Perspective on MacLISP. Proceedings of the 1977 MACSYMA Users' Conference. NASA Scientific and Technical Information Office (Washington, D.C., July 1977), pages 181-189. PDF
  • McCarthy, John; Abrahams, Paul W.; Edwards, Daniel J.; Hart, Timothy P.; Levin, Michael I. (1985). LISP 1.5 Programmer's Manual (2nd edición). MIT Press. ISBN 0-262-13011-4. 
  • Maclisp Reference Manual. 1974. 
  • The Revised Maclisp Manual (1983) by Kent Pitman
  • The Multics MACLISP compiler (1977) by Bernard Greenberg
  •   Datos: Q1882973

maclisp, maclisp, veces, llamado, maclisp, maclisp, dialecto, lenguaje, programación, lisp, originó, proyecto, cual, derivó, prefijo, fines, década, 1960, basó, lisp, richard, greenblatt, principal, desarrollador, base, código, original, para, white, responsab. MACLISP o Maclisp a veces llamado MacLisp o MacLISP es un dialecto del lenguaje de programacion Lisp Se origino en el Proyecto MAC 1 del MIT del cual se derivo su prefijo a fines de la decada de 1960 y se baso en Lisp 1 5 2 Richard Greenblatt fue el principal desarrollador de la base de codigo original para el PDP 6 Jon L White fue responsable de su posterior mantenimiento y desarrollo El nombre Maclisp comenzo a utilizarse a principios de la decada de 1970 para distinguirlo de otras bifurcaciones de PDP 6 Lisp especialmente BBN Lisp Indice 1 Historia 2 Caracteristicas 3 Nombre 4 Referencias 5 Enlaces externosHistoria EditarMaclisp es un descendiente de Lisp 1 5 3 Maclisp se aleja de Lisp 1 5 utilizando una celda de valor para acceder y almacenar los valores dinamicos de las variables 4 Lisp 1 5 utilizo una busqueda lineal de una lista de asociacion para determinar el valor de una variable 5 La evaluacion de la variable Maclisp es mas rapida pero tiene una semantica variable diferente Maclisp tambien empleo macros de lector para hacer una entrada y salida mas legibles En lugar de ingresar QUOTE A uno podria ingresar A para obtener la misma expresion s Aunque ambas implementaciones ponen funciones en la lista de propiedades Maclisp usa una sintaxis diferente para definir funciones 6 Maclisp tambien tiene una caracteristica de carga bajo demanda 7 Maclisp comenzo en las computadoras PDP 6 y PDP 10 de Digital Equipment Corporation que ejecutan el Sistema de Tiempo compartido incompatible ITS mas tarde fue portado a todos los demas sistemas operativos PDP 10 por ejemplo TOPS 10 y TOPS 20 La implementacion original era en lenguaje ensamblador pero una implementacion posterior en Multics uso PL I Maclisp se desarrollo considerablemente en su tiempo de vida Se agregaron caracteristicas principales que en otros sistemas de idiomas normalmente corresponderian a los principales numeros de publicacion cita requerida Maclisp se uso para implementar el programa de algebra simbolica Macsyma El desarrollo de Macsyma tambien genero una serie de caracteristicas cual en Maclisp El programa SHRDLU blocks world fue escrito en Maclisp por lo que el lenguaje fue ampliamente utilizado en la comunidad de investigacion de inteligencia artificial a principios de los anos ochenta Tambien se uso para implementar otros lenguajes de programacion como Planner y Scheme Multics Maclisp fue utilizado para implementar los primeros Emacs basados en Lisp Maclisp fue una implementacion influyente de Lisp pero ya no se mantiene activamente Ahora se ejecuta en emuladores PDP 10 y se puede utilizar para experimentar con los primeros programas de IA Caracteristicas EditarMaclisp comenzo con un numero pequeno y fijo de tipos de datos celda de cons atomo mas tarde llamado simbolo numero entero y numero de coma flotante Las ediciones posteriores incluyeron matrices que nunca fueron tipos de datos de primera clase numeros enteros de precision arbitraria bignums instrumentos de cuerda y tuplas Todos los objetos excepto los interiores se implementaron como punteros y su tipo de datos se determino por el bloque de memoria al que apuntaba con un caso especial para numeros pequenos interiores Los programas pueden ser interpretados o compilados El comportamiento compilado fue el mismo que el interpretado excepto que las variables locales eran lexicas por defecto en el codigo compilado y no se realizo ninguna comprobacion de errores para operaciones en linea como CAR y CDR El compilador Ncomplr mediados de la decada de 1970 introdujo un rapido soporte numerico para el mundo Lisp generando instrucciones de maquina para la aritmetica en lugar de llamar a las rutinas interpretativas que se distribuyen en el tipo de datos Esto hizo que la aritmetica de Lisp fuera comparable a la velocidad de Fortran para las operaciones escalares aunque la implementacion de array y bucle de Fortran se mantuvo mucho mejor La version original estaba limitada por la direccion de palabra de 18 bits del PDP 10 y se invirtio un esfuerzo considerable para mantener la implementacion simple y eficiente Multics Maclisp tenia un espacio de direcciones mucho mas grande pero era costoso de usar Cuando se excedieron la memoria y la potencia de procesamiento del PDP 10 se invento la Maquina Lisp Lisp Machine Lisp es el descendiente directo de Maclisp Varios otros dialectos de Lisp tambien estaban en uso y la necesidad de unificar la comunidad resulto en el lenguaje Common Lisp moderno Nombre EditarMACLISP fue nombrado para el Proyecto de MAC y no esta relacionado con la computadora Macintosh Mac de Apple que es anterior por decadas Los diversos sistemas de Lisp para Macintosh no tienen ninguna similitud particular con Maclisp cita requerida Referencias Editar Levy Steven 1984 Hackers Heroes of the Computer Revolution Doubleday ISBN 0 385 19195 2 Project MAC Progress Report IV July 1966 to July 1967 n d p 19 The higher level language used for most of the vision laboratory program is the PDP 6 LISP System This system is based chiefly on the LISP 1 5 programming language but has been extensively modified in a number of ways These include many new functions and services including facilities for linking with programs written in other languages Moon 1974 p 1 Moon 1974 p 47 Lisp 1 5 p 13 evaluating an atom e in the environment a is done with cdr assoc e a That involves a linear search of the association list a A more involved description with global constants and errors is given on p 71 it does a linear search of the property list before searching the association list Maclisp uses defun Lisp 1 5 uses define Moon 1974 p 107 the autoload property Enlaces externos Editarhttp www softwarepreservation org projects LISP maclisp family contains a bibliography of Maclisp John L White An Interim LISP User s Guide Artificial Intelligence Memo No 190 Project MAC Massachusetts Institute of Technology March 1970 87 pages ftp publications ai mit edu ai publications pdf AIM 190 pdf states MACLISP refers to the PDP 6 implementation of the programming language LISP in use at the Artificial Intelligence Group of Project MAC In 1973 and 1974 David A Moon led an effort to implement MacLisp on the Honeywell 6180 under Multics As a part of this project he wrote the first truly comprehensive reference manual for Maclisp which became familiarly known as the Moonual Steele and Gabriel 1993 Jon L White JONL Eric Rosen ECR Richard M Stallman RMS Guy L Steele Jr GLS Howard I Cannon HIC Bob Kerns RWK LISP NEWS MacLisp release notes Jon L White LISP Program is Data A Historical Perspective on MacLISP Proceedings of the 1977 MACSYMA Users Conference NASA Scientific and Technical Information Office Washington D C July 1977 pages 181 189 PDF McCarthy John Abrahams Paul W Edwards Daniel J Hart Timothy P Levin Michael I 1985 LISP 1 5 Programmer s Manual 2nd edicion MIT Press ISBN 0 262 13011 4 Maclisp Reference Manual 1974 The Revised Maclisp Manual 1983 by Kent Pitman The Multics MACLISP compiler 1977 by Bernard Greenberg Datos Q1882973 Obtenido de https es wikipedia org w index php title Maclisp amp oldid 121944915, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos