HOME

TheInfoList



OR:

:''"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 Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation. Originally specified in the late 1950s, ...
with an
Algol ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
-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 in an exact form. MLISP was first implemented for the IBM 360 by
Horace Enea Quintus Horatius Flaccus (; 8 December 65 BC – 27 November 8 BC),Suetonius, Life of Horace commonly known in the English-speaking world as Horace (), was the leading Roman lyric poet during the time of Augustus (also known as Octavian). The ...
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 In computer science, pattern matching is the act of checking a given sequence of tokens for the presence of the constituents of some pattern. In contrast to pattern recognition, the match usually must be exact: "either it will or will not be a ...
* backtracking by the use of closures on a stack and indices for
continuation In computer science, a continuation is an abstract representation of the control state of a computer program. A continuation implements ( reifies) the program control state, i.e. the continuation is a data structure that represents the computat ...
s MLISP2 was called a transitional language by the authors.
Larry Tesler Lawrence Gordon Tesler (April 24, 1945 – February 16, 2020) was an American computer scientist who worked in the field of human–computer interaction. Tesler worked at Xerox PARC, Apple Inc., Apple, Amazon.com, Amazon, and Yahoo!. While at PA ...
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 (MetaLISP) by Robert Muller is an unrelated language from 1989–1992. It was "a hybrid of M-expression LISP and Scheme".


See also

There have been multiple implementations of infix-notation Lisps and Lisp-like or Lisp-derived languages. Some notable examples include: * Dylan, which originated in
Apple An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
's Newton project * CGOL


References

{{reflist Lisp programming language family