Next Prev Top Index

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 Forcing expansion

8.11 Controlling Fragmentation

8.12 Timing the garbage collector

8.13 Summary of garbage collection symbols

8.13.1 Determining storage usage

8.13.2 Allocating in specific generations

8.13.3 Controlling a specific generation

8.13.4 Reducing image size

8.13.5 Controlling the garbage collector

8.13.6 Garbage collection of foreign objects

8.13.7 Using special actions

8.13.8 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 Controlling appearance of found definitions

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

10.4 Configuring the printer

10.4.1 PPD file details

11 The Metaobject Protocol

11.1 Metaobject features incompatible with AMOP

11.1.1 Instance Structure Protocol

11.1.2 Method Metaobjects

11.1.3 Method Lambdas

11.1.4 Method Functions

11.1.5 EQL specializers

11.1.6 Generic Function Invocation Protocol

11.1.7 Method combinations

11.1.8 Inheritance Structure of Metaobject Classes

11.2 Common problems when using the MOP

11.2.1 Inheritance across metaclasses

11.2.2 Accessors not using structure instance protocol

11.2.3 The MOP in delivered images

11.3 Implementation of virtual slots

12 Multiprocessing

12.1 Introduction to processes

12.2 The process programming interface

12.2.1 Creating a process

12.2.2 Finding out about processes

12.2.3 Process Priorities

12.2.4 Interrupting a process

12.2.5 Multiprocessing

12.2.5.1 Starting multiprocessing interactively

12.2.5.2 Multiprocessing on startup

12.2.5.3 Running your own process on startup

12.2.6 Example

12.3 Locks

12.4 Example

13 Common Defsystem

13.1 Introduction

13.2 Defining a system

13.2.1 DEFSYSTEM syntax

13.2.2 DEFSYSTEM options

13.2.3 DEFSYSTEM members

13.2.4 DEFSYSTEM rules

13.2.5 Examples

14 The Parser Generator

14.1 Introduction

14.2 Grammar rules

14.2.1 Example

14.2.2 Resolving ambiguities

14.3 Functions defined by defparser

14.4 Error handling

14.5 Interface to lexical analyzer

14.6 Example

15 Dynamic Data Exchange

15.1 Introduction

15.1.1 Types of transaction

15.1.2 Conversations, servers, topics, and items

15.1.3 Advise loops

15.1.4 Execute transactions

15.2 Client interface

15.2.1 Opening and closing conversations

15.2.2 Automatically managed conversations

15.2.3 Advise loops

15.2.4 Request and poke transactions

15.2.5 Execute transactions

15.3 Server interface

15.3.1 Starting a DDE server

15.3.2 Handling poke and request transactions

15.3.3 Topics

15.3.3.1 General topics

15.3.3.2 Dispatching topics

15.3.3.3 The system topic

16 Common SQL

16.1 Introduction

16.1.1 Overview

16.2 Initialization

16.2.1 SQL interface

16.2.2 Database classes

16.2.3 Initialization functions and variables

16.2.4 Database libraries

16.2.5 Database connection and disconnection

16.2.5.1 Connection example

16.3 Functional interface

16.3.1 Functional Data Manipulation Language (FDML)

16.3.1.1 Querying

16.3.1.2 Modification

16.3.1.3 Caching of table queries

16.3.1.4 Transaction handling

16.3.1.5 Iteration

16.3.1.6 Specifying SQL directly

16.3.1.7 Building vendor-specific SQL

16.3.2 Functional Data Definition Language (FDDL)

16.3.2.1 Querying the schema

16.3.2.2 FDDL Querying example

16.3.2.3 Modification

16.4 Object oriented interface

16.4.1 Object oriented/relational model

16.4.2 Object-Oriented Data Definition Language (OODDL)

16.4.2.1 Example View Class definition

16.4.3 Object-Oriented Data Manipulation Language (OODML)

16.4.3.1 Examples

16.4.3.2 Iteration

16.5 Symbolic SQL syntax

16.5.1 The "[...]" Syntax

16.5.1.1 Enclosing database identifiers

16.5.1.2 SQL strings representing symbolic expressions

16.5.1.3 Calling database functions

16.5.1.4 Enclosing literal SQL

16.5.2 Programmatic interface

16.5.2.1 Examples

16.5.3 Utilities

16.6 SQL I/O recording

16.7 Error handling in Common SQL

16.7.1 SQL condition classes

16.7.2 Database error accessors

17 User Defined Streams

17.1 Introduction

17.2 An illustrative example of user defined streams

17.2.1 Defining a new stream class

17.2.2 Recognizing the stream element type

17.2.3 Stream directionality

17.2.4 Stream input

17.2.5 Stream output

17.2.6 Instantiating the stream

18 Internationalization

18.1 Introduction

18.2 Character and String types

18.2.1 Character types

18.2.2 Character Syntax

18.2.3 String types

18.2.4 String accessors

18.3 String Construction

18.4 External Formats

18.5 External Formats and File Streams

18.5.1 Using complete external formats

18.5.2 Guessing the external format

18.5.3 External formats and stream-element-type

18.5.4 External formats and the LispWorks Editor

18.6 External Formats and the Foreign Language Interface

19 LispWorks' Operating Environment

19.1 The Operating System

19.2 Site Name

19.3 The Lisp Image

19.4 The Command Line

19.4.1 Command Line Arguments

19.5 User Preferences

19.5.1 Location of persistant settings

19.5.2 Accessing persistant settings

19.5.3 Example using user preferences

19.6 Special Folders

Index


LispWorks User Guide - 18 Feb 2003

Next Prev Top Index