Copyright © Philip M. Parker, INSEAD. Terms of Use.

Lisp

Definition: Lisp

Lisp

Noun

1. A speech defect that involves pronouncing s like voiceless th and z like voiced th.

2. A flexible procedure-oriented programing language that manipulates symbols in the form of lists.

Verb

1. Speak with a lisp.

Source: WordNet 1.7.1 Copyright © 2001 by Princeton University. All rights reserved.
 

Date "lisp" was first used in popular English literature: sometime before 1588. (references)

Note: Lisp \Lisp\ (l[i^]sp), intransitive verb [imperfect & past participle. Lisped(l[i^]spt); Lisping.]. (references)

 

Specialty Definition: Lisp

DomainDefinition

Computing

LISP n. [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. Source: Jargon File.

Source: compiled by the editor from various references; see credits.

Top     

Specialty Definition: Lisp

(From Wikipedia, the free Encyclopedia)

See:

Source: adapted by the editor from Wikipedia, the free encyclopedia under a copyleft GNU Free Documentation License (GFDL) from the article "Lisp."

Top     



Lisp (speech)

(From Wikipedia, the free Encyclopedia)

A lisp is a speech impediment. People with a lisp pronounce the letter 's' as 'th'. It is somewhat ironic that this handicap is called a "lisp."

In some variants of Andalusian Spanish, the lisp (ceceo) has been institutionalized as a common part of the language. For example, the word zapatos (shoes) might be pronounced as [thapatoth], contrasting with Castilian [thapatos] and American Spanish [sapatos]. According to legend, the lisp became common in Castilian because one of the Spanish kings (generally identified as Felipe V or Carlos V) spoke with a lisp, and his courtiers did not want to embarrass him by speaking otherwise. Actually, 15th-century Spanish had several phonemes that are currently rendered as s. Some dialects evolved part or all of them to th.

Source: adapted by the editor from Wikipedia, the free encyclopedia under a copyleft GNU Free Documentation License (GFDL) from the article "Lisp (speech)."

Top     



LISP atom

(From Wikipedia, the free Encyclopedia)

In the original LISP, the originator of the Lisp programming language family, there were two fundamental data types, atoms and lists. A list was a finite ordered sequence of elements, where each element is in itself either an atom or a list, and an atom was a number or a symbol. A symbol was essentially a unique named item, written as an alphanumeric string in source code, and used either as a variable name or as a data item in symbolic processing. For example, the list (FOO (BAR 1) 2) contains three elements: the symbol FOO, the list (BAR 1), and the number 2.

The essential difference between atoms and lists was that atoms were immutable and unique. Two atoms that appeared in different places in source code but were written in the exact same way represented the same object, whereas each list was a separate object that could be altered independently of other lists and could be distinguished from other lists by comparison operators.

As more data types were introduced in later Lisp dialects, and programming styles evolved, the concept of an atom lost importance. Many dialects still retained the predicate atom for legacy compatibility, defining it as true for anything that is not a cons cell (ie. a list or a partial list).

Source: adapted by the editor from Wikipedia, the free encyclopedia under a copyleft GNU Free Documentation License (GFDL) from the article "LISP atom."

Top     



Lisp programming language

(From Wikipedia, the free Encyclopedia)

Lisp (which stands for "LISt Processing") is a programming language oriented towards functional programming. Its prominent features include prefix-notation syntax, dynamic typing (variables are type-neutral, but values have implicit type), and the ability to treat source code as first-class objects.

Not counting the various machine languages and assembly languages, Lisp is the second-oldest programming language still in widespread use; only Fortran is older. Like Fortran, it has changed greatly since its early days.

Strictly speaking, Lisp is now not a single language but a family of similarly-styled languages with an instantly recognizable appearance. These are known as Lisp dialects; the most well-known are Common Lisp and Scheme.

History

Information Processing Language was the first AI language, from 1955 or 1956, and already included many of the concepts, such as list-processing, which came to be used in Lisp.

Lisp was invented by John McCarthy in 1958 while he was at MIT. McCarthy published its design a paper in Communications of the ACM in 1960, entitled "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I". (Part II was never published.) He showed that with a couple of simple operators and a notation for functions (see minimal lisp below) you may build a whole programming language.

Lisp was originally implementated on an IBM 704 computer, and two instructions on that machine became the primitive operations for decomposing lists: car (Contents of Address Register) and cdr (Contents of Decrement Register). Most dialects of LISP still use car and cdr for the operations that returning the first item in a list and the rest of the list respectively.

Because of its expressiveness and flexibility, Lisp became popular with the artificial intelligence community. However, Lisp had its downsides as well: programs generate a large amount of intermediate output, which take up memory and have to be garbage collected. This made it difficult to run Lisp on the memory-limited stock hardware of the day. In the 1970s, an increasing user community and generous government funding led to the creation of LISP machines: dedicated hardware for running Lisp environments and programs.

During the 1980s and 1990s, a great effort was made to unify the numerous Lisp dialects into a single language. The new language, Common Lisp, was essentially a superset of the dialects it replaced. In 1994, ANSI published the Common Lisp standard, "ANSI X3.226-1994 Information Technology Programming Language Common Lisp." By this time the world market for Lisp was much smaller than in its heyday.

The language is amongst the oldest programming languages still in use as of the time of writing in 2003. Algol, Fortran and COBOL are of a similar vintage, and Fortran and COBOL are also still being used.

Syntax

Lisp is an expression-oriented language. Unlike most other languages, no distinction is made between "expressions" and "statements"; all code and data are written as expressions. When an expression is evaluated, it produces a value (or list of values), which then can be embedded into other expressions.

McCarthy's 1958 paper introduced two types of syntax: S-expressions (Symbolic Expressions), which are also called sexp's, and M-expressions (Meta Expressions), which express functions of S-expressions. M-expressions never found favour, and almost all LISPs today use S-expressions to manipulate both code and data.

The heavy use of parentheses in S-expressions has been criticized -- one joke acronym for Lisp is "Lots of Irritating Superfluous Parentheses" -- but the S-expression syntax is also responsible for much of Lisp's power: the syntax is extremely regular, which facilitates manipulation by computer.

The reliance on expressions gives the language great flexibility. Because Lisp functions are themselves written as lists, they can be processed exactly like data: programs can easily be written to manipulate other programs. This is known as metaprogramming. Many Lisp dialects exploit this feature using macro systems, which make it possible to extend the language almost without limit.

A Lisp list is written with its elements separated by whitespace, and delimited by parentheses. For example,

(1 2 "foo")

is a list whose elements have the values 1, 2, and "foo". These values are implicitly typed: they are respectively two integers and a string, and do not have to be declared as such. The empty list () is also represented as nil.

Expressions are written as lists, using prefix notation. The first element in the list is the name of a form, i.e. a function, operator, macro, or "special form" (see below.) The remainder of the list are the arguments. For example, the function list returns its arguments as a list, so the expression

(list 1 2 "foo")

evaluates to the list (1 2 "foo"). If any of the arguments are expression, they are recursively evaluated before the enclosing expression is evaluated. For example,

(list 1 2 (list 3 4))

evaluates to the list (1 2 (3 4)). Note that the third argument is a list; lists can be nested.

Arithmetic operators are treated similarly. The expression

(+ 1 2 3 4)

evaluates to 10. The equivalent under infix notation would be "1+2+3+4".

"Special forms" provide LISP's control structure. For example, the special form if takes three arguments. If the first argument is non-nil, it evaluates to the second argument; otherwise, it evaluates to the third argument. Thus, the expression

(if nil
    (list 1 2 "foo")
  (list 3 4 "bar"))

evaluates to (3 4 "bar"). (Of course, this would be more useful if a non-trivial expression had been substituted in place of nil!)

Another special form, defun, is used to define functions. The arguments to defun are a list of arguments and the expression that the function evaluates to.

Minimal Lisp

A minimal Lisp needs just a few functions implemented in an underlying language (such as machine language, or C on Unix systems):

All the other functions may be implemented in terms of these -- albeit not very efficiently. Actual Lisp systems implement a much larger set of functions than this.

Example programs

Here are some examples of Lisp code. While not typical of Lisp programs used in industry, they are typical of Lisp as it is usually taught in computer science courses.

As the reader may have noticed from the above discussion, Lisp syntax lends itself naturally to recursion. Mathematical problems such as the enumeration of recursively-defined sets are simple to express in this notation. This function evaluates to the factorial of its argument:

(defun factorial (n)
  (if (<= n 1)
      1
    (* n (factorial (- n 1)))))

This is an alternative function, which is more efficient in most Lisp systems because it uses tail recursion:

(defun factorial (n &optional (acc 1))
  (if (<= n 1)
      acc
    (factorial (- n 1) (* acc n))))

This function takes a list argument and evaluates to the reverse of the list. (Lisp actually has a built-in reverse function which does the same thing.)

(defun reverse (l &optional acc)
  (if (atom l)
      acc
    (reverse (cdr l) (cons (car l) acc))))

Object systems

Various object systems and models have been built on top of, alongside, or into Lisp, including:

CLOS features multiple inheritance, multiple dispatch ("multimethods"), and a powerful system of "method combinations". In fact, Common Lisp, which includes CLOS, was the first object-oriented language to be officially standardized.

Implementation

A Lisp system may be implemented using a SECD virtual machine.

Genealogy and Variants

Over its almost fifty-year history, Lisp has spawned many variations on the core theme of an S-expression language. Moreover, each given dialect may have several implementations -- for instance, there are more than a dozen implementations of Common Lisp.

Differences between dialects may be quite significant -- for instance, Common Lisp and Scheme do not even use the same keyword to define functions! Within a dialect that is standardized, however, conformant implementations support the same core language, but with different extensions and libraries.

Note: The following list is a mix of dialects and implementations, and is not in chronological order!

See also

Top     

Abbreviations & Acronyms: Lisp

The following table is compiled from various sources, across various languages. When English abbreviations or acronyms come from a non-English source, this is noted.
EntrySourceExpressionField

LISP

DutchList Oriented Programming LanguageComputing, Electrical Engineering

LISP

EnglishList-oriented programming languageN/A

Source: compiled by the editor, based on several corpora (additional references).

Top     

Synonym: Lisp

Synonym: list-processing language (n). (additional references)

Top     

Synonyms within Context: Lisp

ContextSynonyms within Context (source: adapted from Roget's Thesaurus).

Stammering

Noun: inarticulateness; stammering; Verb: hesitation; Verb: impediment in one's speech; traulism; whisper; (faint sound); lisp, drawl, tardiloquence; nasal tone, nasal accent; twang; falsetto; (want of voice); broken voice, broken accents, broken sentences.

Mumble, mutter; maud, mauder; whisper; mince, lisp; jabber, gibber; sputter, splutter; muffle, mump; drawl, mouth; croak; speak thick, speak through the nose; snuffle, clip one's words; murder the language, murder the King's English, murder the Queen's English; mispronounce, missay.

Source: adapted from Roget's Thesaurus.

Top     

Crosswords: Lisp

English words defined with "lisp": Lipse, LISP compiler, LISP program, Lisped, Lisping, lispingly. (references)
Specialty definitions using "lisp": Association of Lisp Users, Austin Kyoto Common Lisp, Avalon/Common LISPButterfly Common LISPCambridge Lisp, CMU Common Lisp, Common Lisp, Common LISP in Parallel, Common LISP Object System, Concurrent LISP, Connection Machine LISP, Conversational LISPEmacs Lisp, Embedded Lisp Interpreter, eXperimental LISPFools' Lisp, Franz LispKyoto Common LispLISP 1, LISP 1.5, LISP 2, LISP A, LISP Extended Algebraic Facility, Lisp Machine, LISP Machine LISP, Lisp Object Oriented Programming System, Lisp Object-Oriented Programming System, LISP, Objects, and Symbolic Programming, Lispkit LispMacintosh Common Lisp, M-expression LISP, MIT Lisp Machine, Mock LispObject LispParalation LISP, Portable Standard Lisp, Pure LispSpice Lisp, Standard Lisp, Symmetric LISPT Lisp. (references)
Etymologies containing "lisp": Traulism. (references)
Non-English Usage: "Lisp" is also a word in the following language with the English translation in parentheses.

Portuguese (LISP).

Top     

Modern Usage: Lisp

DomainUsage

Screenplays

Sounds like I have a lisp, doesn't it (On Golden Pond; writing credit: Ernest Thompson.)

'Flora' with a lisp. (She Spies; writing credit: Ron Osborn; Josh Appelbaum)

Movie/TV Titles

Hot Lisp Jasper (1945)

Source: compiled by the editor from various references; see credits.

Top     

Commercial Usage: Lisp

DomainTitle

Books

  • ANSI Common LISP (reference)

  • Adventurer's Guide to Interleaf Lisp (reference)

  • Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp (reference)

  • Common Lisp Analytical Statistics Package (CLASP) - Mac version (reference)

  • Understanding Clos: The Common LISP Object System (reference)

    (more book examples)

  

Music

Source: compiled by the editor from various references; see credits.

Top     

Usage Frequency: Lisp

"Lisp" is generally used as a noun (singular) -- approximately 65.96% of the time. "Lisp" is used about 47 times out of a sample of 100 million words spoken or written in English. Its rank is based on over 700,000 words used in the English language. Some parts-of-speech are not covered due to the samples used by the British National Corpus. (note: percents less than one-hundredth of one percent have been omitted)
Parts of SpeechPercentUsage per
100 Million Words
Rank in English
Noun (singular)65.96%3162,296
Lexical Verb (infinitive)14.89%7133,076
Lexical Verb (base form)8.51%4175,879
Noun (common)6.38%3202,518
Noun (proper)4.26%2245,945
                    Total100.00%47N/A

Source: compiled by the editor from several corpora; see credits.

Top     

Expression: Lisp

Expressions using "lisp": association of Lisp Users Austin Kyoto Common Lisp Avalon/Common LISP butterfly Common LISP Cambridge Lisp cmu Common Lisp common Lisp common LISP in Parallel common LISP Object System concurrent LISP connection Machine LISP conversational LISP Emacs Lisp embedded Lisp Interpreter experimental LISP Fools' Lisp Franz Lisp have a lisp Kyoto Common Lisp lisp 1 lisp 1.5 lisp 2 lisp A lisp compiler lisp Extended Algebraic Facility lisp Machine lisp Machine LISP Lisp Object Oriented Programming System lisp program Lispkit Lisp Macintosh Common Lisp mit Lisp Machine mock Lisp object Lisp Paralation LISP portable Standard Lisp pure Lisp spice Lisp standard Lisp symmetric LISP T Lisp. Additional references.

Hyphenated Usage

Beginning with "lisp": Lisp-Linda, lisp-machine.

Ending with "lisp": Le-Lisp.

Source: compiled by the editor from various references; see credits.

Top     

Frequency of Internet Keywords: Lisp

The following statistics estimate the number of searches per day across the major English-language search engines as identified by various trade publications. Hyperlinks lead to commercial use of the expression at Amazon.com.
 
ExpressionFrequency
per Day
ExpressionFrequency
per Day

lisp

201

lisp program

6

auto cad lisp

69

acad lisp

5

lisp rock

53

function lisp

5

lisp rule

53

auto cad free lisp

5

lisp suck

53

auto cad lisp program

4

lisp routine

26

language lisp programming

4

auto cad lisp routine

20

editor lisp

4

lisp tutorial

20

interpreter lisp

4

lisp visual

19

auto cad file lisp

4

lisp speech

11

gear lisp

4

common lisp

10

lateral lisp

4

expert lisp system

10

code lisp

4

compiling lisp visual

10

cad lisp

3

lisp programming

8

emacs lisp

3

free lisp

8

lisp speech therapy

3

file lisp

7

auto cad inverse lisp matrix

3

lisp compiler

6

auto lisp

3

artificial inteligencia lisp

6

bathurst lisp

3

auto cad lt lisp

6

esk lisp

3

download lisp

6

lisp machine

3
Source: compiled by the editor from various references; see credits.

Top     

Modern Translation: Lisp

Language Translations for "lisp"; alternative meanings/domain in parentheses.

Albanian

  

thuthuqësi, thuqëroj, flas si thuthuq, fëshfërimë (froufrou, murmur, whisper). (various references)

   

Arabic 

  

‏لثغة, ‏لثغ, ‏لدغ (bite, biting, burr, nettle, pinch, sting, stinging, strike), ‏تكلم بتلعثم. (various references)

   

Bulgarian 

  

фъфля, фъфлене, шумолене (babble, murmur, rustle, swish, whisper), говоря неразбрано (chunter), бълбукане (guggle, gurgle, purl). (various references)

   

Chinese 

  

'舌 (Lisped, Lisping). (various references)

   

Czech

  

šišlavost, šišlat. (various references)

   

Danish

  

LISP, læspen. (various references)

   

Dutch

  

lispelen. (various references)

   

Esperanto

  

lispi. (various references)

   

Faeroese

  

lespa. (various references)

   

Farsi 

  

نوک زبانی صحبت کردن , شلی زبان , شل وسرزبانی تلفظکردن . (various references)

   

Finnish

  

LISP, sammaltaa, sammallus (lisping). (various references)

   

French

  

zézayer. (various references)

   

German

  

lispeln (whisper). (various references)

   

Greek 

  

τραύλισμα (stammer, stammering, stutter, stuttering), ψεύδισμα, ψευδίζω (stammer). (various references)

   

Hebrew 

  

לשפתת, על'ות (stammering, stuttering). (various references)

   

Hungarian

  

selypítés. (various references)

   

Italian

  

LISP, sigmatismo, pronunciare in modo bleso, parlare con pronuncia blesa, mormorio (breath, hum, murmur, murmuring, ripple, rustling), essere bleso, blesit . (various references)

   

Japanese Kanji 

  

リストラ策 (Lisbon, listener, listening, listening room, restructuring scheme, rhythm, rhythmical). (various references)

   

Japanese Katakana 

  

リスプ . (various references)

   

Manx

  

thittagh (hesitating, lisping), thit, loayrt dy thittagh (lisping, stammer, stammering, stutter), loayrt dy moandagh (fumble, stammering, stutter). (various references)

   

Norwegian

  

lespe. (various references)

   

Pig Latin

  

isplay.(various references)

   

Portuguese

  

balbuciação (babble, babbling, mumble, mumbling, mutter, muttering, prattle, stammer, stammering, stutter, stuttering). (various references)

   

Romanian

  

sâsâit (hiss, hissing, lisping), sâsâialã, sâsâi (hiss), rosti sâsâit, gângãvi (stammer, stutter), gângãvealã (stammering), freamãt (bustle, commotion, hum, murmur, quiver, riot, rioting, riotousness, roaring, rush, rustle, rustling, sough, stir, storm, thrill, tremor, tumult, uproar, vibration, whir), foşnet (murmur, rustle, sough, swish), bâlbâialã (babble, fluff, impediment, stammering). (various references)

   

Russian 

  

сюсюкать, шепелявость, шепелявить лисп, шепелявить, лепет (babblement). (various references)

   

Serbo-Croatian

  

vrskati, šuškati (rustle, sibilate), šuškanje (rustle). (various references)

   

Spanish

  

ceceo. (various references)

   

Swedish

  

läspning, läspa. (various references)

   

Thai

  

พู"ไม่ชั" (เหมือนเ"็ก). (various references)

   

Turkish

  

yanlış telaffuz (mispronunciation), telaffuz edememek, peltek konuşmak, peltek konuşma. (various references)

   

Ukrainian

  

шелест (rustle, susurration, whisper), шепіт (breath, susurration, whisper, whispering), шепелявість (balbuties), шепелявити, лепетати (babble, chipper, prattle). (various references)

   

Welsh

  

bloesgi (falter, speak indistinctly). (various references)

Source: compiled by the editor from various translation references.

Top     

Derivations & Misspellings: Lisp

Derivations

Words beginning with "lisp": lisped, lisper, lispers, lisping, lisps. (additional references)


Misspellings

"Lisp" is suggested in spellcheckers for the following: Clispa, ilso, isp, ispbx, ispo, jlsig, lcis, lewp, Liepa, liesl, liis, liisa, lijs, lirp, lis, lisa, lisc, lish, lisi, lisk, lism, lisn, liso, lispy, lisq, lissy, Lisu, lixs, liz, lizi, lizo, lizu, lsi, lysa, Lysg, lysh. (additional references)

Source: compiled by the editor, based on several corpora (additional references).

Top     

Rhyming with "Lisp"

# of Phoneme MatchesPronunciationWord(s) rhyming with "lisp" (pronounced li"sp)
3-i" s pcrisp, wisp.

Source: compiled by the editor (additional references); see credits.

Top     

Anagrams: Lisp

Scrabble® Enable2K-Verified Anagrams

Direct Anagrams: lips, slip.

Words within the letters "i-l-p-s"

-1 letter: lip, lis, pis, psi, sip.

-2 letters: is, li, pi, si.

 Words containing the letters "i-l-p-s"
 

+1 letter: blips, clips, flips, lapis, limps, lisps, pails, piles, pilis, pills, pilus, plies, polis, pulis, slipe, slips, slipt, spail, speil, spiel, spile, spill, spilt, split, spoil.

 

+2 letters: blimps, dispel, espial, impels, lapins, limpas, limpsy, lipase, lipids, lipins, lisped, lisper, lupins, milpas, oxlips, palais, palish, pastil, pelvis, pensil, perils, phials, pibals, piculs, pilafs, pilaus, pilaws, pileus, pilose, pilots, pilous, pipals, pistil, pistol, pixels, plaids, plains, plaits, pliers, plinks, plisky, plisse, poilus, poleis, polies, polios, polish, prills, pupils, salpid, simple, simply, sliped, slipes, slippy, slipup, spails, speils, spiels, spiled, spiles, spills, spilth, spinal, spinel, spiral, spital, splice, spliff, spline, splint, splits, spoils, spoilt, stipel, swiple, tulips.

Source: compiled by the editor from various references; see credits.

SCRABBLE® is a registered trademark. All intellectual property rights in and to the game are owned in the U.S.A and Canada by Hasbro Inc., and throughout the rest of the world by J.W. Spear & Sons Limited of Maidenhead, Berkshire, England, a subsidiary of Mattel Inc. Mattel and Spear are not affiliated with Hasbro.

Top     



INDEX

1. Definition
2. Synonyms
3. Crosswords
4. Usage: Modern
5. Usage: Commercial
6. Usage Frequency
7. Expressions
8. Expressions: Internet
9. Translations: Modern
10. Abbreviations
11. Acronyms
12. Derivations
13. Rhymes
14. Anagrams
15. Bibliography


  

Copyright © Philip M. Parker, INSEAD. Terms of Use.