This is the genealogy of the programming language Lisp:

Lisp was born in year 1958.
It became Lisp 1 in year 1959.
It became Lisp 1.5 in year 1962.
Then it begat TRAC in year 1964.
Then it begat Smalltalk in year 1969.
Then it begat Scheme in year 1975.
Then it begat Common Lisp in year 1984.

This genealogy is brought to you by the Programming Languages Genealogy Project. Please send comments to thbz.

Lions Book = L = list-bomb


[from `LISt Processing language', but mythically from `Lots of Irritating Superfluous Parentheses'] AI's mother tongue, a language based on the ideas of (a) variable-length lists and trees as fundamental data types, and (b) the interpretation of code as data and vice-versa. Invented by John McCarthy at MIT in the late 1950s, it is actually older than any other HLL still in use except FORTRAN. Accordingly, it has undergone considerable adaptive radiation over the years; modern variants are quite different in detail from the original LISP 1.5. The dominant HLL among hackers until the early 1980s, LISP now shares the throne with C. Its partisans claim it is the only language that is truly beautiful. See languages of choice.

All LISP functions and programs are expressions that return values; this, together with the high memory utilization of LISPs, gave rise to Alan Perlis's famous quip (itself a take on an Oscar Wilde quote) that "LISP programmers know the value of everything and the cost of nothing".

One significant application for LISP has been as a proof by example that most newer languages, such as COBOL and Ada, are full of unnecessary crocks. When the Right Thing has already been done once, there is no justification for bogosity in newer languages.

--The Jargon File version 4.3.1, ed. ESR, autonoded by rescdsk.

LISP is discussed in some detail in the book "Metamagical Themas" by Douglas Hofstadter. He describes how since in LISP it is easy to write recursive functions, and programs and data are both represented in the same way, as lists, LISP could be a good language to use for Artificial Intelligence. He gives several example LISP programs, including one to solve the Tower of Hanoi puzzle and one to expand recursive acronyms to a given depth.

Here's some simple example LISP code. These examples use Emacs LISP. To try them out, start emacs and type "Meta-X lisp-interaction-mode". After typing each LISP expression, press Ctrl-J to have it evaluated.

The hello world program is completely trivial; just type

'(hello world) Ctrl-J

and you'll get back the output "(hello world)". The single quotation mark at the beginning means "Don't try to do anything with this list, like treating hello as a function, just treat it as a single unit".

Now here's how to count from 1 to 10 in LISP. You could just type '(1 2 3 4 5 6 7 8 9 10), of course, but the method below is more flexible as it allows the program to count arbitrarily high. Type the following into your emacs session, then type Ctrl-J. You can leave out the lines beginning with semicolons, as these are comments which I've included to explain what the program is doing.

;; Define the recursive function "count".
;; (count x y) generates a list of integers from x to y inclusive.
(defun count (x y)
;; If x and y are the same, the output is (x).
  (cond ((= x y) (list x))
;; If x < y, the output is x followed by 
;;   the list of integers from x+1 to y.
        ((< x y) (cons x (count (+ 1 x) y)))
;; Otherwise (x>y), this function has been called with invalid
;; arguments.
        (t "ERROR"))

Now if you type (count 1 10) then Ctrl-J, you'll get back the correct list of numbers.

Lisp (?), v. i. [imp. & p. p. Lisped (?); p. pr. & vb. n. Lisping.] [OE. lispen, lipsen, AS. wlisp stammering, lisping; akin to D. & OHG. lispen to lisp, G. lispeln, Sw. laspa, Dan. lespe.]


To pronounce the sibilant letter s imperfectly; to give s and z the sound of th; -- a defect common among children.


To speak with imperfect articulation; to mispronounce, as a child learning to talk.

As yet a child, nor yet a fool to fame, I lisped in numbers came. Pope.


To speak hesitatingly with a low voice, as if afraid.

Lest when my lisping, guilty tongue should halt. Drayton.


© Webster 1913.

Lisp, v. t.


To pronounce with a lisp.


To utter with imperfect articulation; to express with words pronounced imperfectly or indistinctly, as a child speaks; hence, to express by the use of simple, childlike language.

To speak unto them after their own capacity, and to lispe words unto them according as the babes and children of that age might sound them again. Tyndale.


To speak with reserve or concealment; to utter timidly or confidentially; as, to lisp treason.


© Webster 1913.

Lisp, n.

The habit or act of lisping. See Lisp, v. i., 1.

I overheard her answer, with a very pretty lisp, "O! Strephon, you are a dangerous creature."



© Webster 1913.

Log in or register to write something here or to contact authors.