The Art of Lisp Programming
Many of us already have at least a passing acquaintance with procedural languages such as BASIC or Pascal, but may not have met a functional language like Lisp before. Using the same enjoyable and sometimes quirky style that they employed so successfully in "The Art of C-Programming", Robi...
Main Authors: | , , |
---|---|
Format: | eBook |
Language: | English |
Published: |
London
Springer London
1990, 1990
|
Edition: | 1st ed. 1990 |
Subjects: | |
Online Access: | |
Collection: | Springer Book Archives -2004 - Collection details see MPG.ReNa |
Table of Contents:
- 1 Some Basic Ideas
- Lists
- Representing Lists
- The Interpreter
- Functions
- Two More Primitives
- Constants and Variables
- S-Expressions
- Postscript
- Exercises 1
- Answers
- 2 List Functions
- Splitting Lists
- car and cdr
- Setting Up Lists
- setq
- A Piece of Pedantry
- Head and Tail Revisited
- cons
- Postscript
- Exercises 2
- Answers
- 3 Predicates
- cond
- Boolean Functions
- Exercises 3
- Answers
- 4 Recursion
- Powers
- Boolean Functions Revisited
- eq
- Meanwhile Back at the Problem...
- null
- AND and OR
- flat
- first
- rest
- The Fly in the Ointment
- append and list
- Postscript
- Exercises 4
- Answers
- 5 A Look Back (and Forward)
- Variables: a Sense of Place
- Variable Scope
- Variable Binding
- Free Variables
- Lexical Scoping
- A Software Engineering Problem
- setq
- System Variables
- Exercises 5
- Answers
- 6 Sets and Lists
- Sets of Numbers
- The Set Functions
- Intersection
- disjoint-p
- Getting the File Back
- EOF-ERROR-P and EOF-VALUE
- Exercises 11
- Answers
- 12 Data Structures
- Association Lists
- pairlis
- The Dot Notation
- assoc
- rassoc
- aeons
- setf
- Database Manipulation
- Trees
- Binary Trees
- The Searching Problem
- Implementing a Binary Tree
- Growing a Tree
- Searching the Tree
- Stacks
- push
- pop
- Exercises 12
- Answers
- 13 Arrays, Strings and Structures
- Arrays
- Changing an Array Element
- Multidimensional Arrays
- Strings
- char
- string=
- string
- Subsets
- Complement
- Union
- Exercises 6
- Answers
- 7 Input
- read
- read-line
- Single Characters
- More About #
- Yes or No Responses
- Using the read Primitives
- Exercises 7
- Answers
- 8 Output
- format
- The Control String
- Printing Values
- Format Directives
- Using Arguments as Parameters
- Tabs
- Other Output Functions
- The Telephone Index Again
- The read-eval-print Loop
- The Program-Data Distinction
- Exercises 8
- Answers
- 9 Iterative Constructs
- loop
- return
- do
- The Size of a List
- Iteration v. Recursion
- dotimes
- dolist
- Mapping
- mapcar
- Exercises 9
- Answers
- 10 More About Program Control
- if
- when
- unless
- case
- Synonyms
- Defaults
- Some New Control Constructs
- let
- flet
- progl to progrc
- The Lambda Notation
- Exercises 10
- Answers
- 11 File Handling
- Pathnames
- merge-pathnames
- Streams
- Opening and ClosingFiles
- Keyword Arguments
- The Body
- Other Keyword Arguments