L I S P T U T O R
Abstract
LISP TUTOR is a WWW tutorial that helps the student in the process of learning
the LISP language, which seems a little hard at the beginning. It consists of
several chapters that collects the most important features and in each feature
interacts with the student giving him an immediate feedback about his learning
process. At the end, the tutorial presents an On-Line TEST to be answered by
the student and returns the corresponding grade when the student finishes and
hands in the test.
Introduction
LISP stands for LISt Processing Programming and is a functional language
based on John McCarthy's
work on numerical computation, published in 1960.
("History of Lisp", John McCarthy's
version of Lisp History in 1978).
It uses
recursion as the LISP's natural computational mechanism.
The language has been implemented on a variety of platforms. There will be
different ways to execute your own LISP interpreter depending on
the computer you have. Also there are some minimal changes from one LISP
interpreter to another.
This tutorial does not require a lot of expertise in LISP programming
and it has been designed with the main features that you will need to write
a program. It was not planned to be a complete and extensive LISP Tutorial,
However, it would be useful for those learning the language.
Table of Contents
-
Data structures: Gives the notion of the kind of objects that
LISP uses, like
atoms
and
expression and also advises about
common pitfalls in its definition and use.
-
Basic operations: Explains the main functions to deal with the LISP
object, like
car,
cdr,
cons,
atom,
null,
quote.
-
Control structures: Presents the syntax for writing program
control, like
constant definitions,
variable assignment,
equal function,
function definition,
conditional predicates
if instruction,
cond instruction and
RECURSION
-
Mathematical operations: Dealing with numbers,
using functions like
+,
-,
/,
*,
add1,
minus1,
comparison.
Also
predicates functions like:
zerop,
plusp,
evenp,
odd,
integer,
.
And other predefined functions like:
sqrt,
exp,
min,
max.
-
Sets and Relations: Shows the manipulation of LISP objects to behave
like sets. Provides functions like:
member,
union,
intersection,
adjoin.
-
Basic Input/Output: Explains the two basic functions to perform
interaction:
read,
print.
-
Test
-
Bibliography