ToCDocOverviewCGDocRelNotesIndexPermutedIndex
Allegro CL version 6.2
Object described on page has changed in 6.2

Table of Contents for Allegro CL version 6.2 documentation

This document is the table of contents for all Allegro CL HTML and PDF essay files (those in the doc/ and doc/cg/subdirectories of the Allegro directory) along with links to the ANSI spec and MOP documentation.

The documents listed in categories (General Information, Language Features, Programming Tools, Common Graphics and the IDE, Add-on Features). An alphabetical listing of the documents (by filename) appears here.

General Information

  1. ANSI Spec (../ansicl/ansicl.htm)
  2. Errata in distributed Allegro CL 6.2 documentation (errata.htm)
  3. Examples using Allegro CL (examples.htm)
  4. Glossary of terms used in Allegro CL documentation (glossary.htm)
  5. Installation of Allegro CL 6.2 and related products (installation.htm)
  6. Allegro CL 6.2 Documentation Introduction and Overview (introduction.htm)
  7. MOP documentation (mop/contents.html)
  8. Release Notes for Allegro CL 6.2 (release-notes.htm)
  9. Allegro CL Startup (startup.htm)
  10. Release Notes for Allegro CL 6.1 (version-61-release-notes.htm)

Language Features

  1. Allegro CL Case Modes (case.htm)
  2. Building and Using an Allegro Common Lisp Based DLL (dll.htm)
  3. Dumplisp (dumplisp.htm)
  4. Errors (errors.htm)
  5. Foreign Function Interface (foreign-functions.htm)
  6. Foreign Types (ftype.htm)
  7. Fwrapping and Advice (fwrappers-and-advice.htm)
  8. Garbage Collection (gc.htm)
  9. Gray Streams in Allegro CL (gray-streams.htm)
  10. International Character Support in Allegro CL (iacl.htm)
  11. Implementation (implementation.htm)
  12. Loading (loading.htm)
  13. User-defined main() (main.htm)
  14. Miscellaneous Functionality (miscellaneous.htm)
  15. Multiprocessing (multiprocessing.htm)
  16. Operating System Interface (os-interface.htm)
  17. Packages (packages.htm)
  18. Pathnames (pathnames.htm)
  19. Streams in Allegro CL (streams.htm)
  20. Unix Lisp based shared libraries (unix-shared-library.htm)

Programming Tools

  1. Building Images (building-images.htm)
  2. Compiling (compiling.htm)
  3. Allegro Composer (composer.htm)
  4. Cross Reference Facility (cross-reference.htm)
  5. Debugging (debugging.htm)
  6. Defsystem (defsystem.htm)
  7. Delivering Applications (delivery.htm)
  8. The Emacs-Lisp Interface (eli.htm)
  9. Inspector (inspector.htm)
  10. Profiling (profiling.htm)
  11. Source File Recording (source-file-recording.htm)
  12. Allegro CL Runtime (runtime.htm)
  13. The Allegro CL Test harness (test-harness.htm)
  14. The Top Level (top-level.htm)

Common Graphics and the IDE

  1. Common Graphics Integrated Development Environment (cgide.htm)
  2. About adding context-sensitive help to your Common Graphics application (cg/cg-application-help.htm)
  3. About the clipboard in Common Graphics (cg/cg-clipboard.htm)
  4. About color palettes in Common Graphics (cg/cg-color-palettes.htm)
  5. About coordinate systems in in Common Graphics (cg/cg-coordinates.htm)
  6. About DDE support in Common Graphics (cg/cg-dde.htm)
  7. About drawing graphics in Common Graphics (cg/cg-drawing.htm)
  8. About event-handling in Common Graphics (cg/cg-events.htm)
  9. About icons in Common Graphics (cg/cg-icons.htm)
  10. About MCI support in Common Graphics (cg/cg-mci.htm)
  11. Pixmaps in Common Graphics (cg/cg-pixmaps.htm)
  12. About rich text editing in Common Graphics (cg/cg-rich-text.htm)
  13. System Internals in Common Graphics (cg/cg-system.htm)
  14. About the Common Graphics timer facility (cg/cg-timers.htm)
  15. IDE User Guide (cg/ide-user-guide/ide_user_guide_1.htm)

Add-on Features

  1. AllegroStore Manual (allegrostore.pdf)
  2. Allegro Odbc (aodbc.htm)
  3. Clim User Guide (clim-ug.pdf)
  4. The Domain Naming System Utility (dns.htm)
  5. jLinker - A Dynamic Link between Lisp and Java (jlinker.htm)
  6. The Allegro CL imap and pop interface (imap.htm)
  7. OLE Interface (ole.htm)
  8. Regular Expression API (regexp.htm)
  9. Remote Procedure Call support in Allegro CL (rpc.htm)
  10. JiL - Java in Lisp (jil.htm)
  11. Allegro CL Socket Library (socket.htm)
  12. URI support in Allegro CL (uri.htm)

1 ANSI Spec (../ansicl/ansicl.htm)

2 GTK interface documentation (../gtk/readme.txt)

3 Orblink documentation (../orblink/readme.htm)

4 XML-RPC documentation (../xmlrpc/xml-rpc.txt)

5 AllegroStore Manual (allegrostore.pdf)

6 Allegro Odbc (aodbc.htm)

1.0 Aodbc introduction
   1.1 Platform-specific information for aodbc
2.0 Implementation notes for aodbc
   2.1 Representing characters in databases in aodbc
3.0 Using ODBC
4.0 ODBC examples
   4.1 A simple interaction
   4.2 Binding input parameters
   4.3 Scanning through rows
5.0 Character input buffers
6.0 Queries
7.0 Transactions
8.0 Reference
9.0 Conditions

7 Building Images (building-images.htm)

1.0 Comparison with excl:dumplisp
2.0 Comparison with excl:generate-application
3.0 The template of a call to build-lisp-image
   3.1 The character size in the resulting image
4.0 Arguments to build-lisp-image 1: defaults inherited from the running image
5.0 Arguments to build-lisp-image 2: defaults not inherited from the running image
6.0 Debugging an image build problem or failure
7.0 Use of custom.cl
8.0 Building an image to include patches
9.0 Minimal top levels
   9.1 Using the default minimal top-level
   9.2 Requiring the normal top-level in a minimal top-level lisp
   9.3 Top-level variables

8 Allegro CL Case Modes (case.htm)

1.0 Allegro CL Modern Mode
   1.1 Modern mode background
   1.2 ANSI mode problems
   1.3 Modern Mode
   1.4 A note on support for ANSI mode
2.0 Case implementation in Allegro CL
3.0 readtable-case
4.0 ANSI/Modern code portability
   4.1 Package names
   4.2 Package definitions
   4.3 Creating symbols
   4.4 Testing symbols
5.0 Importing ANSI mode code into Modern mode

9 About adding context-sensitive help to your Common Graphics application (cg/cg-application-help.htm)

1.0 Displaying help
   1.1 Comprehensive help
   1.2 Quick help
2.0 Triggering help
   2.1 Triggering help automatically
   2.2 Triggering help on request
3.0 Deciding what to provide help on
   3.1 Help on the selected window
   3.2 Help on the selected data object
4.0 An example of providing help

10 About the clipboard in Common Graphics (cg/cg-clipboard.htm)

1.0 The two clipboards in Common Graphics
2.0 The OS clipboard
3.0 The lisp clipboard
4.0 Built-In Cut, Copy, and Paste functionality
5.0 Adding Cut/Copy/Paste commands to a menu-bar
6.0 Viewing the lisp clipboard contents
7.0 Clipboard example

11 About color palettes in Common Graphics (cg/cg-color-palettes.htm)

12 About coordinate systems in in Common Graphics (cg/cg-coordinates.htm)

1.0 Coordinate System Unit of Size
2.0 Coordinate System Location of Origin

13 About DDE support in Common Graphics (cg/cg-dde.htm)

14 About drawing graphics in Common Graphics (cg/cg-drawing.htm)

1.0 What to draw on
   1.1 Drawing on windows in general
   1.2 Considerations for drawing on particular kinds of windows
   1.3 Drawing on the screen
   1.4 Drawing on bitmap-streams
   1.5 Drawing on printers
2.0 Coordinates
3.0 Drawing functions
   3.1 Drawing lines, filling areas, and erasing
   3.2 The current drawing style
   3.3 Drawing text and fonts
   3.4 Drawing pixmaps and icons
4.0 Animation

15 About event-handling in Common Graphics (cg/cg-events.htm)

16 About icons in Common Graphics (cg/cg-icons.htm)

1.0 When to use icons
2.0 Using a built-in icon
3.0 Assigning an icon to a window title-bar
4.0 Assigning an icon to a control
5.0 Creating an icon
6.0 Drawing an icon
7.0 Assigning an icon to an application

17 About MCI support in Common Graphics (cg/cg-mci.htm)

18 Pixmaps in Common Graphics (cg/cg-pixmaps.htm)

1.0 Introduction to pixmaps
2.0 Using properties
3.0 Pixmap properties
4.0 Creating a pixmap programmatically
5.0 Textures
   5.1 Texture properties
   5.2 Texture-infos
6.0 Cached pixmaps
7.0 Cached pixmaps
8.0 Outline controls and pixmaps
9.0 Pixmap handle functions
10.0 Converting from .bmp files to lisp code
11.0 Enhancing the IDE with pixmaps
12.0 Mouse cursors

19 About rich text editing in Common Graphics (cg/cg-rich-text.htm)

1.0 The Rich Text Interactive Interface
2.0 The Rich Text Programmatic Interface

20 System Internals in Common Graphics (cg/cg-system.htm)

1.0 The *system* variable
2.0 System configuration
3.0 The app slot
4.0 System start up and shut down
5.0 dumplisp

21 About the Common Graphics timer facility (cg/cg-timers.htm)

22 IDE User Guide (cg/ide-user-guide/ide_user_guide_1.htm)

23 Common Graphics Integrated Development Environment (cgide.htm)

1.0 About Common Graphics and IDE documentation
2.0 About Menus and Dialogs in the IDE
3.0 Common Graphics and Simple Streams
4.0 About IDE startup
   4.1 How to create an 8-bit image which starts the IDE
5.0 About submitting a bug report from a break in the IDE
6.0 About child, parent, and owner windows
7.0 About how to get sample code for creating controls
8.0 About using multiple windowing threads in a Common Graphics application
   8.1 Modal CG utility dialogs are not shared between threads
   8.2 CG re-entrancy
   8.3 Enhanced Break Key functionality
   8.4 Debugging Multiple Threads in the IDE
   8.5 Using the IDE while user code is busy
9.0 About design considerations for event-driven applications
   9.1 Message-handling routines that run for a long time
   9.2 Message-handling routines that block
10.0 About the position class

24 Clim User Guide (clim-ug.pdf)

25 Compiling (compiling.htm)

1.0 Lisp images without a compiler
2.0 Compile-file
3.0 No-in-package warning
4.0 Undefined function warning
5.0 EOF encountered error
6.0 Variables which control information printed by compile-file
7.0 File types
8.0 Declarations and optimizations
   8.1 Examining the current settings and their effect
   8.2 Declared fixnums example
   8.3 Argument count checking example
   8.4 Argument type for a specialized function example
   8.5 Bound symbol example
   8.6 Tail merging discussion
   8.7 Changing compiler optimization switch settings
   8.8 Switch can be t or nil meaning always on or always off
9.0 Pointers for choosing speed and safety values
   9.1 Optimizing for fast floating-point operations
   9.2 Supported operations
   9.3 Help with declarations
   9.4 Explain types and calls
   9.5 Explain boxing
   9.6 Explain variables
10.0 Other declarations and optimizations
   10.1 Inline declarations ignored
   10.2 Defstruct accessors
   10.3 Stack consing, avoiding consing using apply, and stack allocation
   10.4 Adding typep-transformers
   10.5 Compiler handling of top-level forms

26 Allegro Composer (composer.htm)

1.0 Introduction
2.0 Customizing and executing Allegro Composer
   2.1 Setting up your system for Allegro Composer
   2.2 Building an image that contains Allegro Composer
   2.3 Starting and stopping Allegro Composer
      2.3.1 Starting Allegro Composer
      2.3.2 Starting Allegro Composer from your .clinit.cl file
      2.3.3 After Allegro Composer starts up
      2.3.4 Stopping Allegro Composer
   2.4 Errors while running Allegro Composer
   2.5 Composer variables
   2.6 Definitions of terms associated with Allegro Composer
3.0 Overview of Composer functionality
   3.1 The big picture
   3.2 The Composer menu
      3.2.1 The Inspect menu item
      3.2.2 The CLOS submenu
      3.2.3 The Xref submenu
      3.2.4 The Profiler submenu
      3.2.5 The Options menu item
      3.2.6 The Other submenu
      3.2.7 The Help submenu
      3.2.8 The Exit Composer/Common Windows menu item
   3.3 Gestures and presentations
      3.3.1 Changing gesture bindings
   3.4 Menus in Allegro Composer
   3.5 Graphs
      3.5.1 Scrolling graphs
      3.5.2 The graph overview window
      3.5.3 The Window menu on a graph window menu bar
      3.5.4 The History menu on a graph window menu bar
      3.5.5 The :menu gesture over a graph node
      3.5.6 The :secondary-menu gesture over a graph node
      3.5.7 The Find Node(s) from Name menu choice
4.0 The debugger in Allegro Composer
   4.1 Displaying a stack backtrace in a window
      4.1.1 The Window menu on a Debugger window menu bar
      4.1.2 The Debugger menu on a Debugger window menu bar
      4.1.3 Menus over frames 1: the :secondary-menu gesture menu
      4.1.4 Menus over frames 2: the :menu gesture menu
      4.1.5 Menus over objects
      4.1.6 The :menu gesture over a local
5.0 The window-based inspector
   5.1 Inspector windows and their menus
      5.1.1 The Window menu on an Inspector window
      5.1.2 The Inspect As menu on an Inspector window
      5.1.3 The History menu on an Inspector window
      5.1.4 Menus over labels and values in an Inspector window
6.0 Composer Browsers
   6.1 CLOS class browsers
   6.2 Cross reference browsers
   6.3 The defsystem browser
   6.4 The Process Browser
      6.4.1 The :menu gesture over a process
7.0 The window interface to the profiler
   7.1 Profiler graphs
A Configuring X windows for Allegro Composer
   A.1 Name and class of Composer tools
   A.2 Resources of tools
   A.3 Specifying resource values in .Xdefaults
   A.4 Reinitializing resources
B Problems starting Allegro Composer
   B.1 Error: there is no process named Connect to Emacs daemon
   B.2 Error: package Composer not found
   B.3 Error: Unknown hostname:

27 Cross Reference Facility (cross-reference.htm)

1.0 Cross reference introduction
   1.1 The cross-reference package
   1.2 The cross-reference database
   1.3 When is the cross-reference information generated?
   1.4 When is xref information in a fasl file added to the database?
   1.5 Things to note about the compiler and macros
2.0 What is in and how to access the xref database
   2.1 Clearing the database
   2.2 General description of query functions and commands
   2.3 The function-name and object arguments
   2.4 File information and the :in-files keyword argument
   2.5 The :in-functions keyword argument
   2.6 The :inverse keyword argument
3.0 A cross-referencer example

28 Debugging (debugging.htm)

1.0 Introduction
2.0 Getting out of the debugger
3.0 Internal functions
4.0 Debugging background processes
5.0 Stack commands
   5.1 :zoom
   5.2 :brief, :moderate, and :verbose modes of :zoom
   5.3 :all t and :all nil modes of :zoom
   5.4 :function t and :function nil modes of :zoom
   5.5 :specials t and :specials nil modes of :zoom
   5.6 :relative t and :relative nil modes of :zoom
   5.7 The :bt command for a quick look at the stack
   5.8 Variables that affect the behavior of :zoom
   5.9 Special handling of certain errors by :zoom
   5.10 :zoom analogs and stack movement commands
   5.11 Commands that hide frames
   5.12 Frame information commands
   5.13 Local variables and evaluation
   5.14 Getting a backtrace programmatically
6.0 Local variables and the debugger
   6.1 Discard local variable information before dumplisp
   6.2 Summary of the discussion of locals
   6.3 What are local variables?
   6.4 How does the compiler treat local variables?
   6.5 What is the difference between using registers and using the stack?
   6.6 Live and dead ranges of local variables
   6.7 Locals and functions in the tail position
   6.8 Example showing live range
   6.9 The debug=1 behavior with locals
   6.10 The behavior with debug=2
   6.11 Problem with debug=1 and debug=2 behavior before a local has a value
   6.12 Why only have good behavior of locals at debug=3?
   6.13 The behavior with debug=3 (and speed < 3)
   6.14 The behavior with debug=3 and speed=3
   6.15 I compiled with debug=3 but I want to see dead locals anyway
7.0 Break on exit
8.0 :return and :restart
9.0 Ghost frames in backtraces
   9.1 Summary of the ghost frames section
   9.2 What is a ghost frame?
   9.3 What kinds of optimizations cause ghost frames?
   9.4 How does the debugger know about ghost frames?
   9.5 When will the debugger display ghost frames?
   9.6 Can I return from or restart a ghost frame?
   9.7 What do the suspension points (`...') mean in a ghost frame?
   9.8 The ghost frame has no `...'s; are all possible frames displayed?
   9.9 No ghost frames are displayed. Do all functions appear on the stack?
   9.10 Ghost frames in a brief backtrace
   9.11 Can I turn off printing of ghost frames?
   9.12 Can backtraces involving system functions have ghost frames?
   9.13 Ghost frames and Allegro Composer
10.0 The tracer
   10.1 Tracing function objects
   10.2 Trace example
   10.3 Tracing setf, :before, and :after methods and internal functions
11.0 The stepper
   11.1 Turning stepping off
   11.2 Other stepping commands and variables
   11.3 Stepping example
12.0 The Lisp DeBug (ldb) stepper
   12.1 Entering and Exiting the ldb stepper
   12.2 Ldb stepper functional interface
   12.3 Ldb stepping example run

29 Defsystem (defsystem.htm)

1.0 Defsystem introduction
   1.1 Defsystem terminology
2.0 Using Defsystem
3.0 Module-specifications
   3.1 Short form module-specifications
   3.2 Long form module-specifications
4.0 Redefinition of systems
5.0 Predefined operations on systems and defsystem variables
6.0 Extending Defsystem
   6.1 Class hierarchy
   6.2 Defining new classes
7.0 Extending defsystem syntax through shared-initialize methods
   7.1 Defsystem methods that can be specialized
8.0 Defsystem extension examples
   8.1 Example of defining a new system class
   8.2 Example of defining new system operations
   8.3 Example of master and development directories
   8.4 Example of one system definition referencing another

30 Delivering Applications (delivery.htm)

1.0 Delivery introduction
2.0 Definitions
3.0 Developing the application and preparing for delivery
   3.1 A summary of the delivery process
   3.2 Legal and licensing issues
   3.3 Deciding on necessary features
   3.4 Deciding on top-level (user interaction)
   3.5 Packaging the product
   3.6 Including all desired modules
   3.7 Defining the init functionality
   3.8 Specifying the initial value of *package*
   3.9 Setting up logical pathname translations
   3.10 Use of shared libraries (foreign files)
   3.11 CLOS training
      3.11.1 Generic functions, method combination, and discrimination
      3.11.2 Effective methods
      3.11.3 Caches for fast dispatching
      3.11.4 Constructor functions
      3.11.5 How to do CLOS start up optimizations
      3.11.6 make-instance optimization
4.0 Creating the deliverable
   4.1 Resources
   4.2 Defsystem
   4.3 Tuning the application
   4.4 More on the development environment
   4.5 GC parameters and switches
   4.6 GC cursors
   4.7 Allegro Presto
   4.8 Allegro Runtime
   4.9 Windows specific information
      4.9.1 Icon files suitable as a value for icon-file
   4.10 Installation of your application on Windows using the Install Wizard
      4.10.1 Uninstalling an application on Windows
   4.11 Testing your application
   4.12 Expiration warnings
5.0 generate-executable: a wrapper from generate-application
6.0 Patching your application after delivery
   6.1 The Allegro CL patch naming scheme
   6.2 Loading Allegro CL patches
   6.3 Patches for your application
   6.4 Creating patch files in general
   6.5 Creating a patch file
   6.6 What to do with patch files
   6.7 Including application patches in an image at build time
   6.8 Superseding a patch
   6.9 Withdrawing a patch
   6.10 Distributing patches
   6.11 Loading patches

31 Building and Using an Allegro Common Lisp Based DLL (dll.htm)

1.0 Using An Example Allegro CL Based DLL: fact.dll
2.0 Building the Example DLL: fact.dll
3.0 Building the Companion DXL File: fact.dxl
4.0 Building Your Own Lisp Based DLL
5.0 Deploying Your Lisp Based DLL
6.0 LNKACL DLL Exported Routines

32 The Domain Naming System Utility (dns.htm)

1.0 The Allegro CL Domain Naming System Package
2.0 Nameserver
3.0 The DNS API
   3.1 Address queries
   3.2 Inverse queries
   3.3 MX queries
   3.4 Undecoded responses
   3.5 Repeat and timeout

33 Dumplisp (dumplisp.htm)

1.0 Introduction to excl:dumplisp
2.0 Changes from earlier releases
3.0 Finding additional files
4.0 Uses of excl:dumplisp
5.0 excl:dumplisp will fail under some conditions
6.0 [allegro directory]/src/aclstart.cl is the source code for startup
7.0 Creating an application
8.0 Creating a customized image
9.0 When the dumped image starts 1: values of global variables
10.0 When the dumped image starts 2: command-line arguments
11.0 When the dumped image starts 3: reading init files
12.0 When the dumped image starts 4: restart actions
13.0 When the dumped image starts 5: the two restart functions
14.0 The emacs-lisp interface and dumped images
15.0 Dumping a prestoized image
16.0 Standalone image: not supported
17.0 How the dumped image finds loaded library files
18.0 Logical pathnames and the dumped image
19.0 How the dumped image finds its Allegro directory
20.0 How to use the dumped image

34 The Emacs-Lisp Interface (eli.htm)

1.0 Introduction to the Emacs-Lisp interface
   1.1 If you are new to Emacs
   1.2 Starting Allegro CL as a subprocess of Emacs
   1.3 Notation conventions used in this document
   1.4 Format of this document
   1.5 Previous versions of Emacs
   1.6 What should be in your .emacs file
   1.7 Emacs Documentation
   1.8 Licensing issues and The Free Software Foundation
   1.9 Quirks of the Emacs-Lisp Interface
   1.10 Bug reports and fixes
2.0 Starting the Emacs-Lisp interface
   2.1 Troubleshooting the Emacs-Lisp interface
      2.1.1 Emacs reports that a function defined in the interface is undefined
      2.1.2 Emacs reports that it encountered an error when loading .emacs
      2.1.3 Checking your setup
      2.1.4 Other strange or unexplained behavior
3.0 Running Common Lisp
   3.1 Key bindings in Common Lisp subprocess mode
   3.2 Typing input to Common Lisp
   3.3 Functions and variables for Interacting with a CL subprocess
4.0 Editing Common Lisp Programs
   4.1 Indentation
   4.2 Packages and readtables
   4.3 Syntactic modification of Common Lisp source code
   4.4 Information sharing between Common Lisp and Emacs
   4.5 common-lisp-mode functions and variables
   4.6 definition-mode functions and variables
5.0 Writing and Debugging Common Lisp Programs
   5.1 Finding the definitions of functions
   5.2 Interaction with Allegro Composer
   5.3 Modifying the state of the Common Lisp environment
   5.4 Debugging Common Lisp processing in Emacs
   5.5 Lisp Listeners
   5.6 Miscellaneous programming aids
   5.7 Bug reports
6.0 Shell modes
7.0 Advanced miscellaneous features
   7.1 Emacs hooks
   7.2 The Emacs-Lisp interface and excl:dumplisp
   7.3 Raw mode

35 Errata in distributed Allegro CL 6.2 documentation (errata.htm)

1.0 Errata introduction

36 Errors (errors.htm)

1.0 Errors
   1.1 More on cl:stream-error
2.0 Some common errors
   2.1 An unhandled error occurred during initialization:
   2.2 Attempt to call -name- which is defined as a macro
   2.3 Gc errors
   2.4 Bus errors and segmentation violations
   2.5 Using package [package] results in name conflicts...
3.0 Type errors in sequence functions

37 Examples using Allegro CL (examples.htm)

1.0 Examples introduction
   1.1 Common Graphics and IDE examples
   1.2 Allegro CL RPC examples
   1.3 The AddCaps application
   1.4 AllegroServe examples
   1.5 The checklinks tool
   1.6 Lisp as a DLL example
   1.7 jLinker examples
   1.8 The simple network paging protocol example
   1.9 Encapsulating streams examples
   1.10 The skeleton test application
   1.11 An example using Telnet to communicate with a running Lisp process
   1.12 Lisp as a Unix Shared Library
   1.13 XML-RPC examples

38 Foreign Function Interface (foreign-functions.htm)

1.0 Foreign functions introduction
   1.1 Some notation
   1.2 Different versions of Allegro CL load foreign code differently
   1.3 Package information
   1.4 Load foreign code with cl:load
      1.4.1 Foreign File Processing
      1.4.2 Externals must be resolved when the .so/.sl/.dylib/.dll file is created
      1.4.3 One library file cannot depend on an already loaded library file
      1.4.4 Entry points are updated automatically
      1.4.5 Duplicate entry points are never a problem
      1.4.6 If you modify a so/sl/dylib/dll file that has been loaded, you must load the modified file!
   1.5 Foreign code cannot easily be included at installation time
   1.6 Foreign functions and multiprocessing
   1.7 Creating Shared Objects that refer to Allegro CL Functionality
      1.7.1 Linking to Allegro CL shared library on Mac OS X
      1.7.2 Delaying linking the Allegro CL shared-library until runtime
   1.8 Releasing the heap when calling foreign functions
2.0 The 4.3.x UNIX model for foreign functions
3.0 The Allegro CL 3.0.x for Windows model for foreign functions
4.0 The foreign function interface specification
   4.1 Foreign function interface function summary
      4.1.1 A note on foreign addresses
   4.2 def-foreign-call
      4.2.1 def-foreign-call syntax
      4.2.2 def-foreign-call examples
   4.3 def-foreign-variable
      4.3.1 def-foreign-variable syntax
      4.3.2 def-foreign-variable examples
5.0 Conventions for passing arguments
   5.1 Modifying arguments called by address: use arrays
   5.2 Lisp may not see a modification of an argument passed by address
   5.3 Lisp unexpectedly sees a change to an argument passed by address
   5.4 Passing fixnums, bignums, and integers
   5.5 Another example using arrays to pass values
6.0 Passing strings between Lisp and C
   6.1 Passing strings from Lisp to C
   6.2 Special Case: Passing an array of strings from Lisp to C
7.0 Handling signals in foreign code
8.0 Input/output in foreign code
9.0 Using Lisp functions and values from C
   9.1 Accessing Lisp values from C: lisp_value()
   9.2 Calling Lisp functions from C: lisp_call_address() and lisp_call()
   9.3 Calling foreign callables from Lisp
A Foreign Functions on Windows
   A.1 Making a .dll
   A.2 Making a Fortran .dll
   A.3 The Lisp side of foreign functions
   A.4 A complete example
B Building shared libraries on Solaris 2.4 or later
C Building shared libraries on HP-UX 10.20, 11
D Building shared libraries on SGI/IRIX 6.2 or later
E Building shared libraries on Compaq Tru64 4.0 or later
F Building shared libraries on AIX 4.2 or later
G Building shared libraries on Linux
H Building shared libraries on FreeBSD
I Building shared libraries on Mac OS X

39 Foreign Types (ftype.htm)

1.0 Foreign types introduction
2.0 The foreign types facility
3.0 Examples
4.0 The Syntax for Foreign Types
5.0 Primitive Types
6.0 Allocation types
7.0 Aligned Pointers
8.0 Bit Fields
9.0 The Programming Interface
10.0 Passing Foreign Objects to Foreign Functions
   10.1 String representation
   10.2 A Quiz

40 Fwrapping and Advice (fwrappers-and-advice.htm)

1.0 The Fwrap Facility
   1.1 Background
2.0 The Def-fwrapper/fwrap Facility
   2.1 Macroexpansion and Compilation of Fwrappers
3.0 Fwrap Examples
   3.1 Simple fwrap example
   3.2 Fwrapper and argument access example
   3.3 Interaction between fwrap and trace
4.0 Modifications Made to Trace
5.0 Replacing advice with fwrappers
6.0 Introduction
   6.1 Advising a function
      6.1.1 Advice of class :before
      6.1.2 Advice of class :around
      6.1.3 Advice of class :after
      6.1.4 More on the position argument
   6.2 Removing advice from a function or macro
   6.3 Utilities associated with advice
   6.4 Examples using advice
   6.5 Advising macros

41 Garbage Collection (gc.htm)

1.0 Garbage collection introduction
   1.1 The garbage collection scheme
   1.2 How newspace is managed with scavenges
   1.3 The system knows the age of objects in newspace
   1.4 Objects that survive long enough are tenured to oldspace
   1.5 Placement of newspace and oldspace: the simple model
   1.6 Oldspace, newspace, and Lisp will grow when necessary
   1.7 The almost former gap problem
2.0 User control over the garbage collector
   2.1 Switches and parameters
   2.2 Triggering a scavenge
   2.3 Triggering a global gc
   2.4 Getting information on memory management using cl:room
3.0 Tuning the garbage collector
   3.1 How do I find out when scavenges happen?
   3.2 How many bytes are being tenured?
   3.3 When there is a global gc, how many bytes are freed up?
   3.4 How many old areas are there after your application is loaded?
   3.5 Can other things be changed while running?
4.0 Initial sizes of old and new spaces
5.0 System parameters and switches
   5.1 Parameters that control generations and tenuring
   5.2 Parameters that control minimum size
   5.3 Parameters that control how big newly allocated spaces are
   5.4 Gsgc switches
   5.5 Gsgc functions and variables
6.0 Global garbage collection
   6.1 The tenuring macro
7.0 Gc cursors
8.0 Other gc information
9.0 gc errors
   9.1 Storage-condition errors
   9.2 Gsgc failure
10.0 Weak vectors, finalizations, static arrays, etc.
   10.1 Weak arrays and hashtables
   10.2 Finalizations
   10.3 Example of weak vectors and finalizations
   10.4 Static arrays

42 Glossary of terms used in Allegro CL documentation (glossary.htm)

43 Gray Streams in Allegro CL (gray-streams.htm)

1.0 Introduction to Gray streams in Allegro CL
2.0 Documenting object-oriented protocols
3.0 Stream classes
4.0 Generic functions for character input
5.0 Generic functions for character output
6.0 Generic functions for binary streams
7.0 Functions for efficient input and output of sequences
8.0 Creating streams
9.0 Miscellaneous stream functions

44 International Character Support in Allegro CL (iacl.htm)

1.0 Introduction
2.0 Internal Representation
   2.1 History
   2.2 Unicode
   2.3 Memory Usage
   2.4 Character names
3.0 External formats
   3.1 External-Format Overview
      3.1.1 Basic External-Format Types
      3.1.2 The unicode and fat External-Format Types
      3.1.3 Composed External-Formats
      3.1.4 Defining External-Formats
      3.1.5 Retrieving Existing External-Formats
      3.1.6 External-Format Runtime Mode
   3.2 External-Format Usage
      3.2.1 Streams
      3.2.2 String <-> External-Format Lisp Arrays
   3.3 External-Formats in 8-bit Lisp.
   3.4 Older Allegro CL External-Format Compatibility
4.0 Foreign-Functions
5.0 External formats and locales
   5.1 The initial locale when Allegro CL starts up
   5.2 Locales in applications
6.0 Localization support in Allegro CL
   6.1 Introduction to locales
   6.2 Locale Definition
   6.3 Locale Attribute Accessors
7.0 String collation with international characters
8.0 Earlier International Allegro CL Compatibility
   8.1 EUC Module
   8.2 :mode Option Removal
A Functions, Symbols, Variables Documentation
   A.1 External-Format API
B #\newline Discussion
C 8-bit images
D Links to Unicode Reports

45 The Allegro CL imap and pop interface (imap.htm)

1.0 The IMAP interface
   1.1 IMAP facility package
   1.2 Mailboxes
   1.3 Messages
   1.4 Flags
   1.5 Connecting to the server
   1.6 Mailbox manipulation
   1.7 Message manipulation
   1.8 Mailbox Accessors
   1.9 Fetching a Letter
   1.10 Searching for Messages
   1.11 Examples
      1.11.1 Connect to the imap server on the machine holding the email
      1.11.2 Select the inbox, that's where the incoming mail arrives
      1.11.3 Check how many messages are in the mailbox
2.0 The Pop interface
3.0 Conditions signaled by the IMAP and Pop interfaces
4.0 The SMTP interface (used for sending mail)

46 Implementation (implementation.htm)

1.0 Implementation introduction
2.0 Data types
   2.1 Array sizes
3.0 Characters
4.0 Autoloading
   4.1 Where the autoloaded files are located
   4.2 Common Lisp symbols
   4.3 Major extensions
   4.4 How to load modules
5.0 Miscellaneous implementation details
   5.1 Extensions to cl:make-package, cl:disassemble, cl:open, cl:apropos
      5.1.1 A comment about with-open-file and timing hazards
   5.2 cl:directory
   5.3 Reader macros and cl:*features*
      5.3.1 Features present or missing from *features* in Allegro CL
   5.4 cl:random
   5.5 cl:make-hash-table
   5.6 cl:make-array
   5.7 cl:defpackage
   5.8 cl:file-length
   5.9 Functionality for quickly writing and reading floats
   5.10 cl:provide and cl:require
   5.11 Speed and pretty printing
   5.12 64 bit Allegro CL Implementations
6.0 Allegro CL and the ANSI CL standard
   6.1 Compatibility with pre-ANSI CLtL-1 in Allegro CL
   6.2 Other package changes and compile-time-too behavior
   6.3 The function data type
   6.4 CLOS and MOP
   6.5 CLOS and MOP conformance
   6.6 CLOS optimization
7.0 Function specs (fspecs)
8.0 Some low-level functionality
   8.1 Windows: GetWinMainArgs2
9.0 Conformance with the ANSI specification

47 Inspector (inspector.htm)

1.0 The inspector introduction
2.0 An example of inspect

48 Installation of Allegro CL 6.2 and related products (installation.htm)

1.0 Installation introduction
   1.1 Distribution is on two CD's
   1.2 Definitions of some terms used in this document
   1.3 Installation sizes and supported Operating System versions
   1.4 Warning to Linux (x86) and FreeBSD users about long filenames on CD
2.0 Preinstallation Steps
   2.1 Increasing the default stack size on Dec Alpha and Mac OS X machines
   2.2 Preparing for AllegroStore installation
   2.3 You can leave Allegro CL 6.1 installed
3.0 Installation steps
4.0 Notes for installation of Allegro CL on UNIX
   4.1 Testing that the installation of Allegro CL on Unix was successful
   4.2 What to do if bunzip2 won't execute on the CD
5.0 Installation on Windows
   5.1 Testing that the installation of Allegro CL on Windows was successful
6.0 Installation instructions and information for AllegroStore users
   6.1 Pre-Installation notes for AllegroStore users
   6.2 Compatibility notes for AllegroStore users
   6.3 Installing ObjectStore
      6.3.1 Step 1: Copying and unencrypting the ObjectStore distribution
      6.3.2 Step 2: Install ObjectStore
      6.3.3 Step 3: Set up the individual Runtime environments
      6.3.4 Step 4: Build an AllegroStore Lisp image [optional]
      6.3.5 Step 5: Test the AllegroStore installation
7.0 Installing Emacs
8.0 Installing OpenSSL libraries on Windows
9.0 Other Allegro CL products
10.0 Other material on the CD
11.0 Getting a license file
12.0 Installing source code
13.0 The Trial Edition
   13.1 Information on the Trial license
   13.2 Information on installing the Trial edition

49 Allegro CL 6.2 Documentation Introduction and Overview (introduction.htm)

1.0 Documentation introduction
   1.1 Common Graphics and Integrated Development Environment Documentation
   1.2 ANSI Common Lisp and MetaObject Protocol Documentation
   1.3 Some notation
2.0 The Overview section
   2.1 Allegro CL documentation table of contents
   2.2 Allegro CL documentation: list of overview HTML documents
3.0 The Reference section
4.0 Assistance available on the internet and the World Wide Web
   4.1 The Allegro CL FAQ
   4.2 Patches
   4.3 Further patch information
   4.4 Should you get all patches?
   4.5 What to do with patches when you have downloaded them
   4.6 Updating the bundle file
5.0 Reporting bugs
   5.1 Where to report bugs and send questions
6.0 Contacting Franz Inc. for sales, licensing assistance, and information

50 JiL - Java in Lisp (jil.htm)

1.0 Introduction
2.0 Lexical items
3.0 Types
4.0 Files
5.0 def-java-class
6.0 def-java-method
7.0 Special Symbols
8.0 Special Forms
9.0 Functions
10.0 macros
11.0 package
12.0 import
13.0 def-java-macro
14.0 Using the jil compiler
15.0 Test suite example
16.0 TicTacToe example

51 jLinker - A Dynamic Link between Lisp and Java (jlinker.htm)

1.0 Introduction
2.0 Creating a Dynamically Linked Lisp/Java Application
   2.1 Calling Java
      2.1.1 Two Calling Models
      2.1.2 Data Types and Conversions
   2.2 Dynamic Linkage Lisp Reference - The Funcall Model
   2.3 Dynamic Linkage Lisp Reference - The Class Model
   2.4 Dynamic Linkage Java Reference
   2.5 Initialization Functions and Variables
   2.6 Event Handling
      2.6.1 Lightweight Callback to Lisp Methods
      2.6.2 Lisp Functions to Dispatch Java Events
      2.6.3 Implemented Sub-Classes of AWT Event Handlers
   2.7 I18N Issues
   2.8 Java Applets
   2.9 Re-entrancy
   2.10 jLinker Connect Issues
   2.11 Calling Methods of Inner Classes
3.0 Installation
   3.1 Files Involved in Installing jLinker
   3.2 Dedicated Java Server
   3.3 Peer-to-Peer Interaction
   3.4 One Lisp and Several Java Client/Server connections
4.0 A Complete Code Example
5.0 Packaging Lisp applications as Java beans and servlets
   5.1 The jLinker Java Bean API
   5.2 The jLinker Servlet API

52 Loading (loading.htm)

1.0 Using the load function
   1.1 EOF encountered error during a load
   1.2 Special utilities for loading applications
2.0 Search lists
   2.1 Search List Structure
   2.2 Search lists variables
   2.3 Search list example
3.0 The Allegro Presto algorithm
   3.1 Comparison to autoloading
   3.2 Improved locality of reference
   3.3 Allegro Presto: basic usage
   3.4 Allegro Presto: advanced usage
   3.5 Libfasl loading
   3.6 What does the libfasl feature apply to?
   3.7 What does the libfasl feature do?
   3.8 When is a stub function fully loaded?
   3.9 When is libfasl loading invoked?
   3.10 What are the costs and advantages of using the libfasl feature?
   3.11 The in-package restriction
   3.12 Affect on users 1: keeping track of files
   3.13 What happens if Lisp cannot find a necessary fasl file?
   3.14 What happens if the file has changed?
   3.15 Affect on users 2: eq-ness of function objects
   3.16 Libfasl and excl:dumplisp
4.0 Loading and case modes

53 User-defined main() (main.htm)

1.0 Introduction
2.0 On UNIX
   2.1 Remarks on main() on Unix
3.0 On Windows
   3.1 Remarks on main() on Windows
A Potential problems with user-defined main() on Linux

54 Miscellaneous Functionality (miscellaneous.htm)

1.0 Introduction
2.0 The fasl reader/writer
3.0 Miscellaneous extensions
4.0 Creating and using pll files
5.0 MD5 support
6.0 Base64 support
7.0 Support for encryption
   7.1 Support for Blowfish encryption
   7.2 Support for rsa encryption

55 MOP documentation (mop/contents.html)

56 Multiprocessing (multiprocessing.htm)

1.0 Multiprocessing introduction
   1.1 Data types added to standard Common Lisp
   1.2 stack-groups (non :os-threads model only)
2.0 Wide binding (both models)
   2.1 The bindstack index
3.0 Processes and profiling (both models)
4.0 :os-threads model thread-related variables and functions
   4.1 Threads and processes in the :os-threads model
   4.2 The :os-threads model and foreign functions (:os-threads model)
   4.3 Waiting for input from a stream (:os-threads model)
      4.3.1 mp:process-wait vs mp:wait-for-input-available (:os-threads model)
5.0 Stack-group variables and functions in the non :os-threads model
   5.1 Stack-group programming example (non :os-threads model)
   5.2 Processes in the non :os-threads model
   5.3 Waiting for input from a stream (non :os-threads model)
      5.3.1 mp:process-wait vs mp:wait-for-input-available (non :os-threads model)
6.0 Process functions and variables (both models)
7.0 Processes and their dynamic environments (both models)
   7.1 Lisp listeners and special variable bindings
8.0 Gates (both models)
9.0 Queues (both models)
10.0 Process locks (both models)
11.0 A simple example of multiprocessing

57 OLE Interface (ole.htm)

1.0 Introduction
2.0 Sample Programs
3.0 System Structure
   3.1 Basic Concepts
   3.2 Important CLOS Issues for an Allegro CL OLE Application
   3.3 Special OLE Data Types
   3.4 Language and Locale
   3.5 Interfaces and Objects
   3.6 The Registry
4.0 Writing an Automation Client
   4.1 Dynamic naming
   4.2 Unique ids
   4.3 Classes
   4.4 The Lisp remote-autotool Class
   4.5 Set-up
5.0 Writing a Server
6.0 Defining Interfaces
7.0 Low Level View
   7.1 Class Hierarchies
   7.2 Control Flow

58 Operating System Interface (os-interface.htm)

1.0 Operating-system interface
2.0 Subprocess functions
3.0 Environment functions
4.0 Temporary directory and files
5.0 Accessing command-line arguments
6.0 Polling and setting environment variables

59 Packages (packages.htm)

1.0 Packages introduction
2.0 Hierarchical Packages
   2.1 Relative package names
   2.2 Compatibility with ANSI Common Lisp
   2.3 Package prefixes reserved by Allegro CL
   2.4 New Common Lisp functions
   2.5 The implementation of Hierarchical Packages
   2.6 Testing the Hierarchical Packages Implementation
3.0 Packages in Allegro CL
4.0 Notes on specific packages
5.0 Package nicknames
6.0 Package locking and package definition locking
   6.1 Package locking
   6.2 Package definition locking
   6.3 Implementation packages
   6.4 Package locked errors
   6.5 Locally circumventing package locked errors
   6.6 The packages locked by default
   6.7 Justification for package locking

60 Pathnames (pathnames.htm)

1.0 Unix symbolic links and truenames
2.0 Windows devices
3.0 Parsing Unix pathnames
   3.1 Preprocessing
   3.2 Determining the :directory component
   3.3 Determining the :name component
   3.4 Determining the :type component
   3.5 Anomalies
   3.6 Table of examples
4.0 The directory component of merged pathnames
5.0 Parsing Windows pathnames
6.0 Miscellaneous pathname functions
7.0 Logical pathnames
   7.1 Logical pathnames: introduction
   7.2 Logical pathnames: general implementation details
   7.3 Logical pathnames: some points to note
   7.4 Details of cl:load-logical-pathname-translations

61 Profiling (profiling.htm)

1.0 Profiler Introduction
2.0 The three profilers: general information
   2.1 The time profiler
   2.2 The space profiler
   2.3 The call-counting profiler
3.0 Invoking the profiler
4.0 Further points, including information on temporary files
   4.1 Profiling error: could not read text section
5.0 Controlling the operation of the profiler
   5.1 Control of data collection
   5.2 Profiling with multiprocessing enabled
   5.3 Closures in profiler output
6.0 Interpreting the results
   6.1 Call-count results
   6.2 Space and time profiler results
   6.3 Examples

62 Regular Expression API (regexp.htm)

63 Release Notes for Allegro CL 6.2 (release-notes.htm)

1.0 Introduction
2.0 All pre-6.2 Lisp compiled files must be recompiled (old fasl files will not load)
3.0 Release Notes for installation
4.0 Release notes for specific platforms
   4.1 Compaq Alpha running Tru64: default stack size should be increased
   4.2 Mac OS X notes
      4.2.1 Increasing stack size on Mac OS X
      4.2.2 Building shared libraries on Mac OS X
   4.3 Heap start locations
5.0 Release Notes for the base Lisp
   5.1 New features in the base Lisp
   5.2 Non-backward-compatible changes in the base Lisp
   5.3 Other changes in the base Lisp
   5.4 Base Lisp platform-specific information
6.0 Release Notes for CLIM
7.0 Release Notes for Common Graphics (Windows only)
   7.1 Information on avoiding deadlocks in Common Graphics applications
   7.2 Non-backward-compatible changes in Common Graphics
   7.3 Other changes in Common Graphics
8.0 Release Notes for AllegroStore
   8.1 Non-backward-compatible changes in AllegroStore
   8.2 Other changes in AllegroStore
9.0 Release notes for Orblink
   9.1 Portable Object Adaptor (POA) in Allegro CL 6.2
10.0 Documentation modifications in Allegro CL 6.2
11.0 Availability of CLX for Allegro CL
A cl:rename-file and excl:rename-file-raw
B Common Graphics bug fixes and minor enhancements

64 Remote Procedure Call support in Allegro CL (rpc.htm)

1.0 Introduction
   1.1 The package and module for RPC
   1.2 Security considerations
2.0 A Simple RPC Example
3.0 Connection options, Server Classes, and Port Classes
   3.1 Stream Socket Connections
   3.2 Datagram Socket Connection
   3.3 Shared Memory Connections
   3.4 Creating new RPC port and server classes
   3.5 Security mixins and subclasses
4.0 The Lisp RPC Programming Interface
   4.1 Stream socket connections
      4.1.1 Connecting stream sockets
      4.1.2 Explicit port interface of stream sockets
      4.1.3 Declarative interface of stream sockets
      4.1.4 Callback style of stream sockets
   4.2 Datagram socket connections
      4.2.1 Connecting datagram sockets
      4.2.2 Explicit port interface of datagram socket connections
      4.2.3 Declarative interface of datagram socket connections
      4.2.4 Callback style of datagram socket connections
   4.3 Shared Memory Connections (Windows Only)
      4.3.1 Making a Shared Memory Connection
      4.3.2 Explicit port interface of shared memory connections
      4.3.3 Declarative interface of shared memory connections
      4.3.4 Callback style of shared memory connections
5.0 Data Representation
   5.1 Uniqueness of Remote References
   5.2 Argument Conversions
   5.3 Operator Conversion
   5.4 Data Type Qualifiers
6.0 Error Tags
7.0 Gates
8.0 Examples

65 Allegro CL Runtime (runtime.htm)

1.0 Allegro Runtime introduction
   1.1 Standard Runtime
   1.2 Dynamic Runtime
   1.3 Partner's Runtime
2.0 Creating runtime applications
3.0 Conditions on distributing Allegro Runtime created applications

66 Allegro CL Socket Library (socket.htm)

1.0 Introduction and background
2.0 Characteristics
3.0 Stream Sockets
   3.1 Connections
   3.2 Host Naming
4.0 Variables
5.0 Functions
6.0 Errors
7.0 Examples
8.0 Secure Socket Layer (SSL)
   8.1 SSL History
   8.2 Secure connections
   8.3 Client/Server
   8.4 Authentication
   8.5 Certificates
   8.6 The Allegro CL SSL API

67 Source File Recording (source-file-recording.htm)

1.0 Source-file recording Introduction
   1.1 Functions that implement source file recording
2.0 Redefinition warnings
   2.1 Pathname comparison

68 Allegro CL Startup (startup.htm)

1.0 The Allegro directory
2.0 Allegro CL Executables: alisp, alisp8, mlisp, mlisp8, allegro, allegro-ansi
3.0 The Allegro CL license file
4.0 Starting Allegro CL
   4.1 Starting on UNIX machines
      4.1.1 Starting on UNIX using a shell script
   4.2 Starting on Windows machines
      4.2.1 Starting Allegro CL on Windows as a Console App
   4.3 The executable, the image, and additional files
   4.4 The executable and image names
   4.5 Argument defaults
5.0 Command line arguments
6.0 Files Lisp must find to start up and files it may need later
   6.1 Files Lisp needs to start up 1: .so (or dll) files built with image
   6.2 Files Lisp needs to start up 2: the Allegro directory
7.0 The start-up message
8.0 Running Lisp as a subprocess of Emacs
   8.1 Starting Lisp as a subprocess of Emacs the first time
   8.2 Starting Lisp within Emacs after the first time
   8.3 What if the Emacs-Lisp interface does not start?
   8.4 Using the IDE with Emacs
9.0 Starting Lisp from a shell
10.0 Start-up problems
11.0 How to exit Lisp
   11.1 How to exit for sure
12.0 What Lisp does when it starts up
13.0 Initialization and the sys:siteinit.cl and [.]clinit.cl files
   13.1 Errors in an initialization file
   13.2 No top-level commands in initialization files
   13.3 Cannot (effectively) set a variable bound by load
   13.4 Starting Allegro Composer from .clinit.cl
14.0 Setting global variables in initialization files
   14.1 Where are the bindings defined?
   14.2 Many bindings are to specific values, not to the variables' actual values
   14.3 How to set the value so a listener sees it?
   14.4 A sample initialization file
15.0 After Lisp starts up
   15.1 The initial prompt
   15.2 Errors
   15.3 What if the system seems to hang?
   15.4 Enough C-c's (on Unix) will always interrupt
   15.5 The Allegro Icon on the system tray will interrupt on Windows
   15.6 Help while running Lisp
16.0 Files that may be looked for on startup and after startup

69 Streams in Allegro CL (streams.htm)

1.0 Simple-stream introduction
2.0 Simple-stream background
   2.1 Problems with Gray streams
   2.2 A new stream hierarchy
3.0 The programming model
   3.1 How to get a simple-stream and how to get a Gray stream
   3.2 Trivial Stream Dispatch
   3.3 Simple-stream Description
4.0 Device Level Functionality
   4.1 Device Interface
5.0 Implementation of Standard Interface Functionality for Simple-Streams
   5.1 Implementation of Common Lisp Functions for simple-streams
   5.2 Extended Interface Functionality
      5.2.1 Blocking behavior in simple-streams
      5.2.2 The endian-swap keyword argument to read-vector and write-vector
   5.3 Force-output and finish-output policy
6.0 Higher Level functions
7.0 Simple-stream Class Hierarchy
8.0 Implementation Strategies
9.0 Control-character Processing
10.0 Device-writing Tips
   10.1 Defining new stream classes
   10.2 Device-open
   10.3 From-scratch device-open
   10.4 Implementation Helpers for device-read and device-write
   10.5 Other Stream Implementation Functions and Macros
   10.6 Details of stream-line-column and charpos
11.0 The simple-stream class hierarchy illustrated
12.0 Encapsulating Streams
   12.1 Encapsulation terminology
   12.2 Strategy descriptions necessary for encapsulation
   12.3 Valid connections between octet-oriented and character-oriented streams
   12.4 Examples of stream encapsulations
      12.4.1 Rot13b: An Example of Bidirectional Stream Encapsulation
      12.4.2 Rot13s: An example of buffer-oriented stream encapsulation
      12.4.3 Base64: an example of binary stream encapsulation
   12.5 Encapsulating composing external-formats

70 The Allegro CL Test harness (test-harness.htm)

1.0 The tester module API
   1.1 Test Harness Variables
   1.2 Test Harness Macros
   1.3 Examples

71 The Top Level (top-level.htm)

1.0 Introduction to the Lisp top-level listener
2.0 The prompt
3.0 Commands and expressions
   3.1 Case sensitivity of input
   3.2 Getting help for top-level commands
   3.3 Command and expression history
   3.4 Anomalies with the :history list
4.0 Break levels
   4.1 Commands to manipulate break levels:
5.0 Commands for compiling and loading
   5.1 File arguments are read as strings
6.0 Top-level interaction with multiprocessing
7.0 Commands for killing processes and exiting Lisp
8.0 Miscellaneous top-level commands
9.0 Automatic timing information
10.0 Top-level variables
11.0 Adding new top-level commands

72 Unix Lisp based shared libraries (unix-shared-library.htm)

1.0 How it Works
2.0 An Example: A Shared Library that computes factorials
   2.1 fact.c details
   2.2 fact.cl details
   2.3 ftest.c details
3.0 Compilation and Delivery
4.0 Additional Tips
5.0 OS Specific Notes
   5.1 Notes on Lisp as a shared library on Sun Solaris 32 bit
   5.2 Notes on Lisp as a shared library on Sun Solaris 64 bit
   5.3 Notes on Lisp as a shared library on Alpha Unix 32 bit
   5.4 Notes on Lisp as a shared library on Alpha Unix 64 bit
   5.5 Notes on Lisp as a shared library on SGI IRIX
   5.6 Notes on Lisp as a shared library on HP-UX 10.20 (32-bit only)
   5.7 Notes on Lisp as a shared library on HP-UX 11.0 (64-bit only)
   5.8 Notes on Lisp as a shared library on Mac OS X
   5.9 Notes on Lisp as a shared library on FreeBSD
   5.10 Notes on Lisp as a shared library on AIX
   5.11 Notes on Lisp as a shared library on Linux

73 URI support in Allegro CL (uri.htm)

1.0 Introduction
2.0 The URI API definition
3.0 Parsing, escape decoding/encoding and the path
4.0 Interning URIs
5.0 Allegro CL implementation notes
6.0 Examples

74 Release Notes for Allegro CL 6.1 (version-61-release-notes.htm)

1.0 Introduction
2.0 All Lisp files must be recompiled (old fasl files will not load)
3.0 Release Notes for installation
4.0 Release notes for specific platforms
   4.1 Note on Windows XP
   4.2 Compaq Alpha running Tru64: default stack size should be increased
   4.3 Heap start locations
5.0 Release Notes for the base Lisp
   5.1 New features in the base Lisp
   5.2 Non-backward-compatible changes in the base Lisp
   5.3 Other changes in the base Lisp
   5.4 Base Lisp platform-specific information
      5.4.1 HP
      5.4.2 LINUX Redhat
      5.4.3 SPARC
      5.4.4 MacOS X
      5.4.5 Compaq ALPHA
6.0 Release Notes for CLIM
7.0 Release Notes for Common Graphics (Windows only)
   7.1 Information on avoiding deadlocks in Common Graphics applications
   7.2 Non-backward-compatible changes in Common Graphics
   7.3 Other changes in Common Graphics
8.0 Release Notes for AllegroStore
   8.1 Non-backward-compatible changes in AllegroStore
   8.2 Other changes in AllegroStore
      8.2.1 Special note for users on Linux
9.0 Release notes for Orblink
10.0 Availability of CLX for Allegro CL
A Changes to the startup sequence for the Integrated Development Environment (IDE) on Windows
B Common Graphics bug fixes and minor enhancements


Copyright (c) 1998-2002, Franz Inc. Oakland, CA., USA. All rights reserved.
Documentation for Allegro CL version 6.2. This page was not revised from the 6.1 page.
Created 2002.2.26.

ToCDocOverviewCGDocRelNotesIndexPermutedIndex
Allegro CL version 6.2
Object described on page has changed in 6.2