SBCL User Manual

This manual is part of the SBCL software system. See the README file for more information.

This manual is largely derived from the manual for the CMU CL system, which was produced at Carnegie Mellon University and later released into the public domain. This manual is in the public domain and is provided with absolutely no warranty. See the COPYING and CREDITS files for more information.

Table of Contents
1. Introduction
Where To Go For More Information about Common Lisp in General
Where To Go For More Information About SBCL
Overview Of SBCL, How It Works And Where It Came From
2. The Compiler
Error Messages
The Parts of the Error Message
The Original and Actual Source
The Processing Path
Error Severity
Errors During Macroexpansion
Read Errors
The Compiler's Handling of Types
Implementation Limitations
Type Errors at Compile Time
Precise Type Checking
Weakened Type Checking
Getting Existing Programs to Run
Compiler Policy
Open Coding and Inline Expansion
3. Efficiency
4. Beyond The ANSI Standard
Non-Conformance With The ANSI Standard
Things Which Might Be In The Next ANSI Standard
Threading (a.k.a Multiprocessing)
5. The Foreign Function Interface
Introduction to the Foreign Function Interface
Foreign Types
Defining Foreign Types
Foreign Types and Lisp Types
Foreign Type Specifiers
Operations On Foreign Values
Accessing Foreign Values
Coercing Foreign Values
Foreign Dynamic Allocation
Foreign Variables
Local Foreign Variables
External Foreign Variables
Foreign Data Structure Examples
Loading Unix Object Files
Foreign Function Calls
The alien-funcall Primitive
The define-alien-routine Macro
define-alien-routine Example
Calling Lisp From C
Step-By-Step Example of the Foreign Function Interface