
Contents
1 Introduction
1.1 About this manual
1.2 The LispWorks manuals
1.3 Other documentation
1.4 Notation
2 The Debugger
2.1 Entering the TTY debugger
2.2 Simple use of the TTY debugger
2.3 The stack in the debugger
2.4 TTY debugger commands
2.4.1 Backtracing
2.4.2 Moving around the stack
2.4.3 Miscellaneous commands
2.4.4 Leaving the debugger
2.4.5 Example TTY session
2.5 Debugger control variables
3 The TTY Inspector
3.1 Describe
3.2 Inspect
3.3 Inspection modes
3.3.1 Hash table inspection modes
4 The Trace Facility
4.1 Simple tracing
4.2 Tracing options
4.2.1 Evaluating forms on entry to and exit from a traced function
4.2.2 Evaluating forms without printing results
4.2.3 Using the debugger when tracing
4.2.4 Entering stepping mode
4.2.5 Configuring function entry and exit information
4.2.6 Directing trace output
4.2.7 Restricting tracing
4.2.8 Storing the memory allocation made during a function call
4.2.9 Tracing functions from inside other functions
4.3 Example
4.4 Tracing methods
4.5 Trace variables
5 The Advice Facility
5.1 Combining the advice
5.2 Removing advice
5.3 Advice for macros and methods
5.4 Example
5.5 Advice functions and macros
6 Action Lists
6.1 Defining and undefining action lists
6.2 Exception handling variables
6.3 Other variables
6.4 Diagnostic utilities
6.5 Examples
6.6 Standard Action Lists
7 The Compiler
7.1 Compiling a function
7.2 Compiling a source file
7.3 How the compiler works
7.4 Compiler control
7.5 Declare, proclaim, and declaim
7.5.1 Naming conventions
7.6 Compiler parameters affecting LispWorks
8 Storage Management
8.1 Introduction
8.2 Generations and segments
8.3 Allocation of objects
8.3.1 Allocation of static objects
8.3.2 Allocation in different generations
8.4 Mark and sweep
8.5 Promotion
8.6 Garbage collection strategy
8.7 Overflow
8.8 Behavior of generation 1
8.9 Behavior of generation 2
8.10 Controlling Fragmentation
8.11 Timing the garbage collector
8.12 Summary of garbage collection symbols
8.12.1 Determining storage usage
8.12.2 Allocating in specific generations
8.12.3 Controlling a specific generation
8.12.4 Reducing image size
8.12.5 Controlling the garbage collector
8.12.6 Using special actions
8.12.7 Mapping across all objects
9 The Profiler
9.1 What the profiler does
9.2 Setting up the profiler
9.3 Running the profiler
9.4 Interpretation of profiling results
9.5 Profiling pitfalls
9.6 Profiling and garbage collection
10 Simple Customization of LispWorks
10.1 Customizing the editor
10.1.1 Placing definitions at the top of a window
10.1.2 Specifying the number of editor windows
10.1.3 Binding commands to keystrokes
10.2 Using ! for :redo
10.3 Customizing LispWorks for use with your own code
10.3.1 Preloading selected modules
10.3.2 Creating packages
11 Multiprocessing
11.1 Introduction to processes
11.2 The process programming interface
11.2.1 Creating a process
11.2.2 Finding out about processes
11.2.3 Interrupting a process
11.2.4 Multiprocessing
11.2.4.1 Starting multiprocessing interactively
11.2.4.2 Multiprocessing on startup
11.2.4.3 Running your own process on startup
11.2.5 Example
11.3 Locks
11.4 Example
12 Common Defsystem
12.1 Introduction
12.2 Defining a system
12.2.1 DEFSYSTEM syntax
12.2.2 DEFSYSTEM options
12.2.3 DEFSYSTEM members
12.2.4 DEFSYSTEM rules
12.2.5 Examples
13 The Parser Generator
13.1 Introduction
13.2 Grammar rules
13.2.1 Example
13.2.2 Resolving ambiguities
13.3 Functions defined by defparser
13.4 Error handling
13.5 Interface to lexical analyzer
13.6 Example
14 Dynamic Data Exchange
14.1 Introduction
14.1.1 Types of transaction
14.1.2 Conversations, servers, topics, and items
14.1.3 Advise loops
14.1.4 Execute transactions
14.2 Client interface
14.2.1 Opening and closing conversations
14.2.2 Automatically managed conversations
14.2.3 Advise loops
14.2.4 Request and poke transactions
14.2.5 Execute transactions
14.3 Server interface
14.3.1 Starting a DDE server
14.3.2 Handling poke and request transactions
14.3.3 Topics
14.3.3.1 General topics
14.3.3.2 Dispatching topics
14.3.3.3 The system topic
15 Common SQL
15.1 Introduction
15.1.1 Overview
15.2 Initialization
15.2.1 SQL interface
15.2.2 Database classes
15.2.3 Initialization functions and variables
15.2.4 Database connection and disconnection
15.2.4.1 Connection example
15.3 Functional interface
15.3.1 Functional Data Manipulation Language (FDML)
15.3.1.1 Querying
15.3.1.2 Modification
15.3.1.3 Transaction handling
15.3.1.4 Iteration
15.3.2 Functional Data Definition Language (FDDL)
15.3.2.1 Queries
15.3.2.2 FDDL Querying example
15.3.2.3 Modification
15.4 Object oriented interface
15.4.1 Object oriented/relational model
15.4.2 Object-Oriented Data Definition Language (OODDL)
15.4.2.1 Example view-class definition
15.4.3 Object-Oriented Data Manipulation Language (OODML)
15.4.3.1 Examples
15.4.3.2 Iteration
15.5 Symbolic SQL syntax
15.5.1 The "[...]" Syntax
15.5.1.1 Enclosing database identifiers
15.5.1.2 SQL strings representing symbolic expressions
15.5.1.3 Enclosing literal SQL
15.5.2 Programmatic interface
15.5.2.1 Examples
15.5.3 Utilities
15.6 SQL I/O recording
15.7 SQL errors
16 User Defined Streams
16.1 Introduction
16.2 An illustrative example of user defined streams
16.2.1 Defining a new stream class
16.2.2 Recognizing the stream element type
16.2.3 Stream directionality
16.2.4 Stream input
16.2.5 Stream output
16.2.6 Instantiating the stream
17 Internationalization
17.1 Introduction
17.2 Character and String types
17.2.1 Character types
17.2.2 Character Syntax
17.2.3 String types
17.2.4 String accessors
17.3 String Construction
17.4 External Formats
17.5 External Formats and File Streams
17.5.1 Using complete external formats
17.5.2 Guessing the external format
17.5.3 External formats and stream-element-type
17.5.4 External formats and the LispWorks Editor
17.6 External Formats and the Foreign Language Interface
Index
LispWorks User Guide - 14 Dec 2001
