H ? « »

Language peer sets for MLISP:
United States
United States/1968
Designed 1968
1960s languages
Third generation
High Cold War
Genus Lazy Evaluation LISPs
String and List Processing
Lazy Evaluation LISPs
Lambda caculus
Lazy Evaluation LISPs/1968
Lambda caculus/1968
Lazy Evaluation LISPs/United States
LISPs/United States
Lambda caculus/United States
String and List Processing
String and List Processing/1968
String and List Processing/us


alternate simple view
Country: United States
Designed 1968
Published: 1968
Genus: Lazy Evaluation LISPs
Sammet category: String and List Processing

Meta-LISP. David Canfield Smith & H. Enea. Stanford

LISP variant with ALGOL-like syntax. Not just a surface syntax, a full language.

"Mlisp (Meta-Lisp) is an alternative syntax for Common Lisp that reduces its reliance on parentheses.  Mlisp is designed to make Lisp programs easier to read.  Mlisp programs are translated into Lisp and then compiled, executed or printed.  Therefore Mlisp has exactly the same capabilities as Common Lisp, no more and no fewer.  Nevertheless, experience has shown that many people can write larger and more complex programs in Mlisp than in Lisp, since they can better understand the code.

The Mlisp syntax is a derivative of Algol, with begin-end blocks, if-then-else conditionals, etc.  

The fundamental rule in Mlisp is that the mathematical notation
       function(arg1, arg2, ..., argn)
is translated into the Lisp notation
       (function arg1 arg2 ... argn)
For example,
       print("abc", stream)
translates to
       (print "abc" stream)
Any Lisp s-expression can be produced in this way, even special forms.  For example,
       cond(=(a, b)(c), t(d))
translates to
       (cond ((= a b) c) (t d))
Of course the former is hardly an improvement on the latter, so special syntax has been added for most special forms:
       if a=b then c else d
The idea for Mlisp was first proposed by John McCarthy in his earliest Lisp report in 1962."

Related languages
ALGOL 60 MLISP   Derivation of
LISP 1.5 MLISP   Evolution of
MLISP MLISP   Implementation
MLISP MLISP2   Evolution of

  • Enea, Horace (1968) Enea, Horace "MLISP", Technical Report No CS-92, Computer Science Department Stanford Unversity, 1968, Abstract pdf Extract: Introduction
  • (1970) "MLISP", D.C. Smith, TR CS-179, (AI Memo No. 135) CS Dept, Stanford (Oct 1970). pdf Abstract
  • Milner, Robin (1972) Milner, Robin "Implementation and applications of Scott's logic for computable functions" pp1-6
          in [PAAP 1972] (1972) SIGPLAN Notices 7(01) January 1972 [ACM] Proc. ACM Conf. on Proving Assertions about Programs. New Mexico State University, Las Cruces, New Mexico (1972)
  • Rieger et al (1977) Chuck Rieger, Hanan Samet. and Jonathan Rosenberg. "Artificial Intelligence Programming Languages for Computer Aided Manufacturing" Maryland Univ College Park Dept of Computer Science Sep 77 TR-595 AD-A047 179/7WC Abstract
          in [PAAP 1972] (1972) SIGPLAN Notices 7(01) January 1972 [ACM] Proc. ACM Conf. on Proving Assertions about Programs. New Mexico State University, Las Cruces, New Mexico (1972)
  • Sammet, Jean E (1978) Sammet, Jean E "Roster of programming languages for 1976-77" pp56-85
          in [SIGPLAN] (1978) SIGPLAN Notices 13(11) Nov 1978
  • Sandewall, Erik (1978) Sandewall, Erik "Programming in an Interactive Environment: the Lisp Experience" pp35-71 Extract: Introduction
          in [ACM] (1978) [ACM] ACM Computing Surveys (CSUR) 10(1) March 1978
    Search in: Google  Google scholar  World Cat  Yahoo  Overture  DBLP  Monash bib  NZ  IEEE  ACM portal  CiteSeer  CSB  ncstrl  jstor  Bookfinder