Book contents
- Frontmatter
- Contents
- Preface
- Part 1 Functions and Foundations
- 1 Introduction
- 2 Computability
- 3 Lisp: Functions, Recursion, and Lists
- 4 Fundamentals
- Part 2 Procedures, Types, Memory Management, and Control
- Part 3 Modularity, Abstraction, and Object-Oriented Programming
- Part 4 Concurrency and Logic Programming
- Appendix A Additional Program Examples
- Glossary
- Index
3 - Lisp: Functions, Recursion, and Lists
from Part 1 - Functions and Foundations
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- Part 1 Functions and Foundations
- 1 Introduction
- 2 Computability
- 3 Lisp: Functions, Recursion, and Lists
- 4 Fundamentals
- Part 2 Procedures, Types, Memory Management, and Control
- Part 3 Modularity, Abstraction, and Object-Oriented Programming
- Part 4 Concurrency and Logic Programming
- Appendix A Additional Program Examples
- Glossary
- Index
Summary
Lisp is the medium of choice for people who enjoy free style and flexibility.
Gerald J. SussmanA Lisp programmer knows the value of everything, but the cost of nothing.
Alan PerlisLisp is a historically important language that is good for illustrating a number of general points about programming languages. Because Lisp is very different from procedure-oriented and object-oriented languages you may use more frequently, this chapter may help you think about programming in a different way. Lisp shows that many goals of programming language design can be met in a simple, elegant way.
LISP HISTORY
The Lisp programming language was developed at MIT in the late 1950s for research in artificial intelligence (AI) and symbolic computation. The name Lisp is an acronym for the LISt Processor. Lists comprise the main data structure of Lisp.
The strength of Lisp is its simplicity and flexibility. It has been widely used for exploratory programming, a style of software development in which systems are built incrementally and may be changed radically as the result of experimental evaluation. Exploratory programming is often used in the development of AI programs, as a researcher may not know how the program should accomplish a task until several unsuccessful programs have been tested. The popular text editor emacs is written in Lisp, as is the linux graphical toolkit gtk and many other programs in current use in a variety of computing environments.
- Type
- Chapter
- Information
- Concepts in Programming Languages , pp. 18 - 47Publisher: Cambridge University PressPrint publication year: 2002