CS 3723/3721
Programming Languages
Lisp Basics


Lisp: Lisp is a full-featured programming language that has traditionally supported AI applications. Lisp is the oldest programming language still acitvely used. Some Lisp systems come with a complete development environment, and Lisp has been used for large software projects (such as Macsyma) and as the basis for software engineering. Lisp appears simple, but this is deceptive. In this course, we will mostly study a subset that can be called "pure Lisp", just the basics. The material here will emphasize recursion.

Lisp is an interpreted language, and as such it has flexibility and power not available to traditional compiled languages such as C, C++, or Java. In Lisp more decisions are made at run-time. In exchange for this flexibility and power, Lisp execution has always been much slower than the traditional languages. Modern Lisp systems have a compiler that improves performance considerably, though not to the level of traditional languages.


Lisp, Access and References:


Ultra-Basics:


Symbolic Computations With Lists -- car, cdr, and cons:


Lisp Library Functions: Common Lisp has a large number of library functions. Here are a few of them:


Conditional: Lisp has a traditional if-then-else but we are going to teach (and use) only the original general cond:
Internal representations and dotted pairs:


User-defined functions using defun: This is a general way to define functions.
Use of mapcar and apply:


Pure Lisp Implemented in C -- Description of a Project:

    Lisp in C.

Revision date: 2004-03-19. (Please use ISO 8601, the International Standard Date and Time Notation.)