LISP (= LISt Processing), is a general purpose programming language, but it is especially know as one of the most important languages for the development of Artificial Intelligence. There are many dialects, but nowadays the language is standardized thanks to the industrial standard ANSI COMMON LISP. LISP is the second oldest programming language (after FORTRAN).
The development of LISP started in 1959 by the Artificial Intelligence Group at M.I.T. The language was developed in order to facilitate experiments with a proposed system called the Advice Taker. The language was able to be instructed to handle declarative and imperative sentences and exhibit common sense in carrying out these instructions. LISP is known as the first functional language and is widely used for Al and symbolic mathematics. LISP however is not a very general language and is only suited for general symbol manipulation and list processing.
LISP means LISt Processing and does symbolic manipulation.
Some simple examples:
So LISP knows lists of "things" ("atoms") within parentheses. In the first example the list (TIMES 12 4) has 3 elements: TIMES, 12, 4. The function to be performed is the first element of the list. The other elements are called the arguments, necessary for the function to work with.
Lists themselves can be elements of other lists:
The elements are called atoms, atoms that are not numbers are called symbolic atoms.
The function SET associates a list with a name:
The quote before the name means "just except the list that is following without trying to evolve it". The LENGTH function counts the number of elements in a list:
The most famous functions are CAR and CDR. CAR gives the first element of a list, CDR will give the list, without the first element:
LISP means manipulating lists, that's all. And because it is easy to make your own functions, there are a lot of different versions of LISP available. A simple example makes this clear:
A very nice description of the origins of LISP is written by John McCarthy . At the web site of The Association of LISP Users a lot of information can be found, including lots of references to CommonLisp, Scheme, Arc, AutoLISP, Dylan, Emacs Lisp. Other version can be found at e.g.OPENLISP.
Anyone who wants to start with LISP, can go to the website of CLISP or common-lisp. It is free-software that runs on a large variety of machines and operating systems. It mostly supports the Lisp described in the ANSI Common Lisp standard . Books, manuals, etc. can be found at the Paul Graham website
|Last Updated on November 16, 2005||For suggestions please mail the editors|
Footnotes & References