Next:
Introduction
Up:
CMU Common Lisp User's
Previous:
CMU Common Lisp User's
 
Index
Contents
Contents
Introduction
Support
Local Distribution of CMU Common Lisp
Net Distribution of CMU Common Lisp
CMU Distribution
Net Distribution
Source Availability
Command Line Options
Credits
Design Choices and Extensions
Data Types
Symbols
Integers
Floats
Characters
Array Initialization
Default Interrupts for Lisp
Packages
The Editor
Garbage Collection
GC Parameters
Weak Pointers
Finalization
Describe
The Inspector
The Graphical Interface
The TTY Inspector
Load
The Reader
Stream Extensions
Running Programs from Lisp
Process Accessors
Saving a Core Image
Pathnames
Unix Pathnames
Wildcard Pathnames
Logical Pathnames
Search Lists
Predefined Search-Lists
Search-List Operations
Search List Example
Filesystem Operations
Wildcard Matching
File Name Completion
Miscellaneous Filesystem Operations
Time Parsing and Formatting
Random Number Generation
Original Generator
New Generator
Lisp Library
The Debugger
Debugger Introduction
The Command Loop
Stack Frames
Stack Motion
How Arguments are Printed
Function Names
Funny Frames
Debug Tail Recursion
Unknown Locations and Interrupts
Variable Access
Variable Value Availability
Note On Lexical Variable Access
Source Location Printing
How the Source is Found
Source Location Availability
Compiler Policy Control
Exiting Commands
Information Commands
Breakpoint Commands
Breakpoint Example
Function Tracing
Encapsulation Functions
Specials
The Compiler
Compiler Introduction
Calling the Compiler
Compilation Units
Undefined Warnings
Interpreting Error Messages
The Parts of the Error Message
The Original and Actual Source
The Processing Path
Error Severity
Errors During Macroexpansion
Read Errors
Error Message Parameterization
Types in Python
Compile Time Type Errors
Precise Type Checking
Weakened Type Checking
Getting Existing Programs to Run
Compiler Policy
The Optimize Declaration
The Optimize-Interface Declaration
Open Coding and Inline Expansion
Advanced Compiler Use and Efficiency Hints
Advanced Compiler Introduction
Types
Optimization
Function Call
Representation of Objects
Writing Efficient Code
More About Types in Python
More Types Meaningful
Canonicalization
Member Types
Union Types
The Empty Type
Function Types
The Values Declaration
Structure Types
The Freeze-Type Declaration
Type Restrictions
Type Style Recommendations
Type Inference
Variable Type Inference
Local Function Type Inference
Global Function Type Inference
Operation Specific Type Inference
Dynamic Type Inference
Type Check Optimization
Source Optimization
Let Optimization
Constant Folding
Unused Expression Elimination
Control Optimization
Unreachable Code Deletion
Multiple Values Optimization
Source to Source Transformation
Style Recommendations
Tail Recursion
Tail Recursion Exceptions
Local Call
Self-Recursive Calls
Let Calls
Closures
Local Tail Recursion
Return Values
Block Compilation
Block Compilation Semantics
Block Compilation Declarations
Compiler Arguments
Practical Difficulties
Context Declarations
Context Declaration Example
Inline Expansion
Inline Expansion Recording
Semi-Inline Expansion
The Maybe-Inline Declaration
Byte Coded Compilation
Object Representation
Think Before You Use a List
Structure Representation
Arrays
Vectors
Bit-Vectors
Hashtables
Numbers
Descriptors
Non-Descriptor Representations
Variables
Generic Arithmetic
Fixnums
Word Integers
Floating Point Efficiency
Specialized Arrays
Specialized Structure Slots
Interactions With Local Call
Representation of Characters
General Efficiency Hints
Compile Your Code
Avoid Unnecessary Consing
Complex Argument Syntax
Mapping and Iteration
Trace Files and Disassembly
Efficiency Notes
Type Uncertainty
Efficiency Notes and Type Checking
Representation Efficiency Notes
Verbosity Control
Profiling
Profile Interface
Profiling Techniques
Nested or Recursive Calls
Clock resolution
Profiling overhead
Additional Timing Utilities
A Note on Timing
Benchmarking Techniques
UNIX Interface
Reading the Command Line
Useful Variables
Lisp Equivalents for C Routines
Type Translations
System Area Pointers
Unix System Calls
File Descriptor Streams
Making Sense of Mach Return Codes
Unix Interrupts
Changing Interrupt Handlers
Examples of Signal Handlers
Event Dispatching with SERVE-EVENT
Object Sets
The SERVE-EVENT Function
Using SERVE-EVENT with Unix File Descriptors
Using SERVE-EVENT with the CLX Interface to X
Without Object Sets
With Object Sets
A SERVE-EVENT Example
Without Object Sets Example
With Object Sets Example
Alien Objects
Introduction to Aliens
Alien Types
Defining Alien Types
Alien Types and Lisp Types
Alien Type Specifiers
The C-Call Package
Alien Operations
Alien Access Operations
Alien Coercion Operations
Alien Dynamic Allocation
Alien Variables
Local Alien Variables
External Alien Variables
Alien Data Structure Example
Loading Unix Object Files
Alien Function Calls
The alien-funcall Primitive
The def-alien-routine Macro
def-alien-routine Example
Calling Lisp from C
Accessing Lisp Arrays
Step-by-Step Alien Example
Interprocess Communication under LISP
The REMOTE Package
Connecting Servers and Clients
Remote Evaluations
Remote Objects
Host Addresses
The WIRE Package
Untagged Data
Tagged Data
Making Your Own Wires
Out-Of-Band Data
Debugger Programmer's Interface
DI Exceptional Conditions
Debug-conditions
Debug-errors
Debug-variables
Frames
Debug-functions
Debug-blocks
Breakpoints
Code-locations
Debug-sources
Source Translation Utilities
Index
About this document ...
File:/afs/cs.cmu.edu/project/clisp/hackers/ram/docs/cmu-user/intro.ms
-*- Dictionary: cmu-user -*-
Peter Van Eynde 2000-02-08