MLisp

MLisp

:"MLisp" is also another name for Mocklisp, a stripped-down version of Lisp used as an extension language in Gosling Emacs."

MLISP is a variant of Lisp with an Algol-like syntax based on M-Expressions, which were the function syntax in the original description of Lisp by John McCarthy. McCarthy's M-expressions were never implemented.

MLISP was first implemented for the IBM 360 by Horace Enea and then reimplemented for the PDP 10 by David Canfield Smith. This second implementation also supported a special kind of lambdas ("FEXPR"), which do not evaluate their arguments . As in Lisp-1 or Scheme, there was a single namespace for variables and functions.

While MLISP was just a preprocessor with an alternative, more reader-friendly syntax for Lisp, the descendant MLISP 2 introduced new concepts:

* interactive interpretation of programs instead of compilation
* extensibility with a syntax description language (see hygienic macros)
* pattern matching
* backtracking by the use of closures on a stack and indices for continuations

MLISP2 was called a transitional language by the authors. Larry Tesler improved the pattern matching system to implement a successor language called LISP70, which was only completed to a preliminary version. Though this path of LISP evolution is widely neglected, it resembles some features, later found in ML or Scheme.

M-LISP is a second branch — independent from the MLISP approach — and, as described by the author, essentially a hybrid of M-expression LISP and Scheme.

References

* Enea, Horace (1968) MLISP [ftp://reports.stanford.edu/pub/cstr/reports/cs/tr/68/92/CS-TR-68-92.pdf"CS-TR-68-92.pdf"]
* Smith, David Canfield (1970) MLISP USERS' MANUAL [http://www.softwarepreservation.org/projects/LISP/stanford/Smith-MLISP-AIM-84.pdf"Smith-MLISP-AIM-84.pdf"] (recommended first)
* Smith, David Canfield and Enea, Horace J. (1973) MLISP 2 [ftp://reports.stanford.edu/pub/cstr/reports/cs/tr/73/356/CS-TR-73-356.pdf"CS-TR-73-356.pdf"] (based on previous report)
* Smith, David Canfield and Enea, Horace J. (1973) Backtracking in MLISP2: an efficient backtracking method for LISP [http://dli.iiit.ac.in/ijcai/IJCAI-73/PDF/074.pdf"074.pdf"]
* Tesler, Lawrence G., Smith, David Canfield and Enea, Horace J. (1973) The LISP70 pattern matching system [http://dli.iiit.ac.in/ijcai/IJCAI-73/PDF/073.pdf"073.pdf"]
* Muller, Robert (1989) MetaLISP: A Representation Independent Dialect of LISP with Reduction Semantics. PhD thesis
* Muller, Robert (1990) Syntax macros in M-LISP: A representation independent dialect of LISP with reduction semantics
* Muller, Robert (1990) Semantic Prototyping in M-LISP: A Representation Independent Dialect of LISP with Reduction Semantics
* Muller, Robert (1991) M-LISP: Its Natural Semantics and Equational Logic
* Muller, Robert (1992) M-LISP: A Representation-Independent Dialect of LISP with Reduction Semantics


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Lisp (programming language) — Infobox programming language name = Lisp paradigm = multi paradigm: functional, procedural, reflective generation = 3GL year = 1958 designer = John McCarthy developer = Steve Russell, Timothy P. Hart, and Mike Levin latest release version =… …   Wikipedia

  • Barry's Emacs — Pour les articles homonymes, voir Axe. Barry s Emacs …   Wikipédia en Français

  • Lisp — Información general Paradigma multiparadigma: orientado a objetos, funcional, declarativo Apareció en 1958 Diseñado por John McCarthy …   Wikipedia Español

  • Mocklisp — Influencé par Lisp A influencé MLisp Système d exploitation UNIX, VMS Mocklisp est un dia …   Wikipédia en Français

  • Unipress Emacs — Développeur Unipress Software Première version …   Wikipédia en Français

  • M-expression — In computer programming, M expressions (or meta expressions) were intended to be the expressions used to write functions in the Lisp programming language. Data to be manipulated using M expressions was to be written using S expressions. M… …   Wikipedia

  • Mocklisp — is the extension language of Gosling Emacs. While resembling Lisp in many ways, it is semantically quite different. Richard Stallman characterized it as a programming language that looks syntactically like Lisp, but didn t have the data… …   Wikipedia

  • CGOL — Infobox programming language name = CGOL paradigm = procedural, imperative, structured year = 1976 designer = Vaughan Pratt developer = latest release version = latest release date = latest test version = latest test date = typing =… …   Wikipedia

  • M-выражение — M выражения (или метавыражения) в программировании изначально предназначались для использования для записи функций на Лиспе. Данные, обрабатываемые при помощи M выражений, записывались с использованием S выражений. M выражения использовались в… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”