Symbolic programming using Common Lisp
In this document, we describe symbolic programming techniques using
the Common Lisp language.
There are a number of nodes. We recommend you read them in this
order:
- Why Common Lisp. The reason
use Common Lisp.
- Interpreted languages.
Two plausible definitions of ``interpreted language'' and why
Common Lisp is not more interpreted than other languages.
- Difference with respect to
Scheme. For those who know the Scheme language, a list of
the major differences between Scheme and Common Lisp.
- The psychology of learning.
An explanation to an observed phenomenon that many people do
not want to learn new things.
- Programming language syntax.
Common Lisp has a two-level syntax. We explain what that
means, and why it is crucial.
- Autonomous functions.
We define what an autonomous function is, and why it is good to
write autonomous functions.
- Side-effect free
functions. We define what a side-effect free function is,
and why it is good to write side-effect free functions.
- Indentation of Common Lisp.
Programmers of Common Lisp have an agreement on how to format
and indent code. Here is a summary of the rules.
- Top-down programming.
Why top-down programming is usually not what you want.
- Bottom-up programming.
Why bottom-up programming is usually what you want.
- Building
specialized languages. A programming technique that is
well adapted to program maintenance.
- Object-oriented
programming. Fundamental terminology of object-oriented
programming and how it applies to Common Lisp and other
languages.
There is also a glossary.