stringtranslate.com

MLisp

"MLisp" es también otro nombre para Mocklisp , una versión simplificada de Lisp utilizada como lenguaje de extensión en Gosling Emacs .

MLISP es una variante de Lisp con una sintaxis similar a la de Algol basada en expresiones M , que eran la sintaxis de funciones en la descripción original de Lisp por parte de John McCarthy . Las expresiones M de McCarthy nunca se implementaron en una forma exacta. [1]

MLISP fue implementado por primera vez para IBM 360 por Horace Enea y luego reimplementado para PDP 10 por David Canfield Smith. Esta segunda implementación también admitía un tipo especial de lambdas (" FEXPR "), que no evalúan sus argumentos. Al igual que en Lisp-1 o Scheme , había un único espacio de nombres para variables y funciones. [2]

Si bien MLISP era solo un preprocesador con una sintaxis alternativa y más fácil de leer para Lisp, el descendiente MLISP 2 introdujo nuevos conceptos: [3]

Los autores consideraron que MLISP2 era un lenguaje de transición. Larry Tesler mejoró el sistema de comparación de patrones para implementar un lenguaje sucesor llamado LISP70 , que solo se completó hasta una versión preliminar. Aunque esta vía de evolución de LISP se ha descuidado en gran medida, se asemeja a algunas características que luego se encontraron en ML o Scheme. [5]

M-LISP (MetaLISP) de Robert Muller es un lenguaje no relacionado que se creó entre 1989 y 1992. Era "un híbrido de M-expression LISP y Scheme ". [6] [7]

Véase también

Se han implementado varias versiones de Lisp con notación infija y lenguajes similares o derivados de Lisp. Algunos ejemplos notables incluyen:

Referencias

  1. ^ Enea, Horace (1968) MLISP CS-TR-68-92.pdf
  2. ^ Smith, David Canfield (1970) MANUAL DEL USUARIO DE MLISP Smith-MLISP-AIM-84.pdf (se recomienda primero)
  3. ^ Smith, David Canfield y Enea, Horace J. (1973) MLISP 2 CS-TR-73-356.pdf
  4. ^ Smith, David Canfield y Enea, Horace J. (1973) Backtracking en MLISP2: un método de backtracking eficiente para LISP 074.pdf
  5. ^ Tesler, Lawrence G., Smith, David Canfield y Enea, Horace J. (1973) El sistema de coincidencia de patrones LISP70 073.pdf
  6. ^ Muller, Robert (octubre de 1992). "M-LISP: un dialecto independiente de la representación de LISP con semántica de reducción". ACM Transactions on Programming Languages ​​and Systems . 14 (4): 589–616. CiteSeerX  10.1.1.40.4948 . doi : 10.1145/133233.133254 .
  7. ^ Muller, Robert (1989). MetaLISP: un dialecto de LISP independiente de la representación con semántica de reducción (tesis doctoral).