Allegro CL version 11.0

Table of Contents for Allegro CL version 11.0 documentation

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

The documents are 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) (jump to file.)
  2. Basic Lisp Techniques (basic-lisp-techniques.pdf) (jump to file.)
  3. Examples using Allegro CL (examples.html) (jump to file.)
  4. Installation of Allegro CL (installation.html) (jump to file.)
  5. Allegro CL Documentation Introduction and Overview (introduction.html) (jump to file.)
  6. MOP documentation (mop/contents.html) (jump to file.)
  7. Other Allegro CL Associated Programs (other-programs.html) (jump to file.)
  8. Release Notes for Allegro CL 11.0 (release-notes-11.0.html) (jump to file.)
  9. Release Notes links to other versions (release-notes.html) (jump to file.)
  10. Allegro CL Startup (startup.html) (jump to file.)
  11. Allegro CL FAQ (faq.html) (jump to file.)

Language Features

  1. Allegro CL Case Modes (case.html) (jump to file.)
  2. Introduction to cbind and cplbind (cbind-intro.html) (jump to file.)
  3. Building and Using an Allegro Common Lisp Based DLL (dll.html) (jump to file.)
  4. Dumplisp (dumplisp.html) (jump to file.)
  5. Errors (errors.html) (jump to file.)
  6. Foreign Function Interface (foreign-functions.html) (jump to file.)
  7. Foreign Types (ftype.html) (jump to file.)
  8. Fwrapping and Advice (fwrappers-and-advice.html) (jump to file.)
  9. Garbage Collection (gc.html) (jump to file.)
  10. Gray Streams in Allegro CL (gray-streams.html) (jump to file.)
  11. International Character Support in Allegro CL (iacl.html) (jump to file.)
  12. Implementation (implementation.html) (jump to file.)
  13. Loading (loading.html) (jump to file.)
  14. User-defined main() (main.html) (jump to file.)
  15. Miscellaneous Functionality (miscellaneous.html) (jump to file.)
  16. Multiprocessing (multiprocessing.html) (jump to file.)
  17. Operating System Interface (os-interface.html) (jump to file.)
  18. Operating System Constants defined in Allegro CL (osi-constants.htm)
  19. Packages (packages.html) (jump to file.)
  20. Pathnames (pathnames.html) (jump to file.)
  21. The shell module interface (shell-module.html) (jump to file.)
  22. Symmetric Multiprocessing in Allegro CL (smp.html) (jump to file.)
  23. Streams in Allegro CL (streams.html) (jump to file.)
  24. String utility functions in Allegro CL (string-utilities.html) (jump to file.)
  25. Lisp as a Shared Library (unix-shared-library.html) (jump to file.)

Programming Tools

  1. Building Images (building-images.html) (jump to file.)
  2. Compiler explanations (compiler-explanations.html) (jump to file.)
  3. Compiling (compiling.html) (jump to file.)
  4. Cross Reference Facility (cross-reference.html) (jump to file.)
  5. Debugging (debugging.html) (jump to file.)
  6. Debugger API (debugger-api.html) (jump to file.)
  7. Defsystem (defsystem.html) (jump to file.)
  8. Delivering Applications (delivery.html) (jump to file.)
  9. The Emacs-Lisp Interface (eli.html) (jump to file.)
  10. Environments support in Allegro Common Lisp (environments.html) (jump to file.)
  11. Inspector (inspector.html) (jump to file.)
  12. Runtime analyzer (runtime-analyzer.html) (jump to file.)
  13. Source File Recording (source-file-recording.html) (jump to file.)
  14. Allegro CL Runtime (runtime.html) (jump to file.)
  15. The Allegro CL Test harness (test-harness.html) (jump to file.)
  16. The Top Level (top-level.html) (jump to file.)

Common Graphics and the IDE

  1. Common Graphics and the Integrated Development Environment (cgide.html) (jump to file.)
  2. Common Graphics on HTML5/JavaScript (CG/JS) (cg-cgjs.html) (jump to file.)
  3. About adding context-sensitive help to your Common Graphics application (cg-application-help.html) (jump to file.)
  4. A Chart Widget Tutorial (cg-chart-widget.html) (jump to file.)
  5. About the clipboard in Common Graphics (cg-clipboard.html) (jump to file.)
  6. About color palettes in Common Graphics (cg-color-palettes.html) (jump to file.)
  7. About coordinate systems in Common Graphics (cg-coordinates.html) (jump to file.)
  8. About drawing graphics in Common Graphics (cg-drawing.html) (jump to file.)
  9. About event-handling in Common Graphics (cg-events.html) (jump to file.)
  10. About icons in Common Graphics (cg-icons.html) (jump to file.)
  11. About MCI support in Common Graphics (cg-mci.html) (jump to file.)
  12. Creating an Object-Editor Dialog or Class-Grid Programmatically (cg-object-editor-and-class-grid.html) (jump to file.)
  13. Grid widget: a simplified tutorial (cg-grid-widget-simplified-tutorial.html) (jump to file.)
  14. Pixmaps in Common Graphics (cg-pixmaps.html) (jump to file.)
  15. About rich text editing in Common Graphics (cg-rich-text.html) (jump to file.)
  16. System Internals in Common Graphics (cg-system.html) (jump to file.)
  17. About the Common Graphics timer facility (cg-timers.html) (jump to file.)
  18. IDE User Guide (ide-ug/ide_user_guide_1.html) (jump to file.)

Add-on Features

  1. AllegroCache documentation (acache/doc/acache.pdf) (jump to file.)
  2. AllegroGraph documentation ( (jump to file.)
  3. AllegroServe documentation (aserve.html) (jump to file.)
  4. Allegro ODBC (aodbc.html) (jump to file.)
  5. CLIM User Guide (clim-ug.pdf) (jump to file.)
  6. Date-time (ISO 8601) support in Allegro CL (date-time.html) (jump to file.)
  7. DDE support in Allegro CL (dde.html) (jump to file.)
  8. The Domain Naming System Utility (dns.html) (jump to file.)
  9. Document Object Model (DOM) in Allegro Common Lisp (dom.html) (jump to file.)
  10. Flavors (flavors.html) (jump to file.)
  11. The Allegro FTP client module (ftp.html) (jump to file.)
  12. The Allegro CL imap and pop interface (imap.html) (jump to file.)
  13. jLinker - A Dynamic Link between Lisp and Java (jlinker.html) (jump to file.)
  14. Large Language Model API (llm-api.html) (jump to file.)
  15. Allegro MySQL Direct Connect Library (mysql.html) (jump to file.)
  16. NDBM support in Allegro CL (ndbm.html) (jump to file.)
  17. OLE Interface (ole.html) (jump to file.)
  18. Oracle Interface: Allegro Oracle Direct Connect (oracle-interface.html) (jump to file.)
  19. Orblink (orblink/doc/index.htm) (jump to file.)
  20. Allegro Prolog (prolog.htl) (jump to file.)
  21. Regular Expression API (regexp.html) (jump to file.)
  22. Remote Procedure Call support in Allegro CL (rpc.html) (jump to file.)
  23. JiL - Java in Lisp (jil.html) (jump to file.)
  24. A Sax XML Parser for Allegro Common Lisp (sax.html) (jump to file.)
  25. A SOAP 1.1 API for Allegro CL (soap.html) (jump to file.)
  26. Allegro CL Socket Library (socket.html) (jump to file.)
  27. URI and IRI support in Allegro CL (uri.html) (jump to file.)
  28. An XML-RPC API for Allegro Common Lisp (xml-rpc.html) (jump to file.)

1 A Chart Widget Tutorial (cg-chart-widget.html)

1.0 Introduction to the Chart Widget
2.0 An initial complete chart-widget example
3.0 The chart-widget tutorial
  3.1 Adding data to a chart-widget
  3.2 Chart axes
  3.3 Modifying existing chart items
  3.4 Additional types of chart values
  3.5 Animated charts
  3.6 Multiple chart objects
  3.7 Alternate chart views
  3.8 Meaningful ID's for chart objects
  3.9 Label-printing functions
  3.10 Meaningful labels for chart items
  3.11 Meaningful ID's for chart items
  3.12 Accessing existing data rather than pushing chart values
  3.13 Graphing Mathematical Functions
  3.14 Animating mathematical functions
  3.15 Major and minor tic marks, tic labels, and grid lines
  3.16 Filling the entire widget
  3.17 Saving a chart image
  3.18 Some final standalone examples
  3.19 Using Two Value Axes

2 A Sax XML Parser for Allegro Common Lisp (sax.html)

1.0 Sax parser introduction
  1.1 XML introduction
  1.2 XML versions
  1.3 Parsing XML documents
  1.4 Well-formed XML documents
  1.5 Valid XML documents
2.0 The sax API in Allegro CL
3.0 Testing the sax parser: the test-sax-parser class
4.0 LXML
  4.1 What is LXML?
  4.2 The SAX-LXML Module
  4.3 The PXML-SAX Module
  4.4 The PXML-DUAL Module
  4.5 PXML reference
5.0 Index

3 A SOAP 1.1 API for Allegro CL (soap.html)

1.0 Preface
2.0 Introduction
3.0 A Simple Client Example
4.0 Components of the API
5.0 Element Definition
6.0 Type Definition
  6.1 Built-in Schema Types
7.0 Making a Client Call
8.0 SOAP Server Components
  8.1 The SOAP Network Server
  8.2 Exporting Methods
  8.3 Controlling Access to Methods
  8.4 Defining SOAP Methods
9.0 Programming Notes
  9.1 Multiple Threads
  9.2 Connector Class Hierarchy
  9.3 When things go wrong - debugging SOAP interfaces
  9.4 I18N Issues
10.0 WSDL Support
  10.1 Limitations in WSDL support
  10.2 WSDL Functions and Variables
  10.3 Namespaces and PackagesNamespaces and Packages
    10.3.1 Some important namespaces and packages
    10.3.2 Namespace Definition Operators
    10.3.3 Deducing the namespaces used in a WSDL file
  10.4 Mapping SOAP Structures to CLOS classes
    10.4.1 Generated Classes
    10.4.2 Generated Accessors
    10.4.3 Generated Constructors, Decoders, and Encoders
    10.4.4 Call Wrapper Methods
    10.4.5 Mapping SOAP Names to Lisp Names
  10.5 How to generate a SOAP client interface from a WSDL definition
    10.5.1 Combining Several WSDL Definitions in one Lisp Image
  10.6 Customizing Generated Code
11.0 Headers
12.0 Faults and Errors
13.0 Index

4 About adding context-sensitive help to your Common Graphics application (cg-application-help.html)

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
5.0 Dealing with an unexpected error in an application

5 About color palettes in Common Graphics (cg-color-palettes.html)

6 About coordinate systems in Common Graphics (cg-coordinates.html)

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

7 About drawing graphics in Common Graphics (cg-drawing.html)

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

8 About event-handling in Common Graphics (cg-events.html)

9 About icons in Common Graphics (cg-icons.html)

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

10 About MCI support in Common Graphics (cg-mci.html)

1.0 Introduction to MCI functionality in Common Graphics
2.0 MCI functionality

11 About pixmaps in Common Graphics (cg-pixmaps.html)

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 Pixmaps on picture controls
8.0 Outline controls and pixmaps
9.0 Pixmap handle functions
10.0 Converting from pixmap files to lisp code
11.0 Enhancing the IDE with pixmaps
12.0 Mouse cursors

12 About rich text editing in Common Graphics (cg-rich-text.html)

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

13 About the Common Graphics timer facility (cg-timers.html)

14 Allegro CL 11.0 Express Installation (express-installation.html)

15 Allegro CL Case Modes (case.html)

1.0 Cases in Allegro CL
2.0 Allegro CL Modern Mode
  2.1 Modern mode background
  2.2 ANSI mode problems
  2.3 Modern Mode
  2.4 A note on support for ANSI mode
3.0 Case implementation in Allegro CL
4.0 readtable-case
5.0 ANSI/Modern code portability
  5.1 Package names
  5.2 Package definitions
  5.3 Creating symbols
  5.4 Testing symbols
6.0 Importing ANSI/Modern-mode code into a Modern/ANSI-mode Lisp
  6.1 Importing ANSI mode code into Modern mode
  6.2 Importing Modern mode code into ANSI mode

16 Allegro CL Runtime (runtime.html)

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

17 Allegro CL Socket Library (socket.html)

1.0 Introduction and background
2.0 Support for Internet Protocol version 6 (IPv6)
3.0 IP addresses in Allegro CL
4.0 Characteristics
5.0 Stream Sockets
  5.1 Connections
  5.2 Host Naming
6.0 Variables
7.0 Functions
8.0 Errors
9.0 Sockets and SMP
10.0 Examples
11.0 Secure Socket Layer (SSL)
  11.1 The algorithm for loading the OpenSSL library
  11.2 SSL History
  11.3 Secure connections
  11.4 Client/Server
  11.5 Authentication
  11.6 Methods
  11.7 Certificates
  11.8 CRL support
  11.9 TLS 1.3 support and ciphersuites
  11.10 The Allegro CL SSL API

18 Allegro CL Startup (startup.html)

1.0 The Allegro directory
2.0 Allegro CL Executables: alisp, alisp8, mlisp, mlisp8, allegro, allegro-ansi, allegro-express
3.0 The Allegro CL license file
4.0 Starting Allegro CL
  4.1 Starting on UNIX machines
    4.1.1 Starting using a shell script
  4.2 Starting on Windows machines
    4.2.1 Starting Allegro CL on Windows as a Console App
    4.2.2 Starting on Windows using bat files
  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 and [.] 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 Delaying evaluation of a form in an init file
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 running Allegro CL
  15.3 What if the system seems to hang (as if it is in an infinite loop)?
  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
    15.6.1 The package on startup
16.0 Files that may be looked for on startup and after startup

19 Allegro Common Lisp FAQ (faq.html)

1.0 The most popular FAQ entries
2.0 The most recent FAQ entries
3.0 Administrative Issues
  3.1 Q. What is the current version of Allegro CL?
  3.2 Q. How should I report bugs?
  3.3 Q. Sometimes CL output is not logged in the dribble-bug file. What do I do about this?
  3.4 Q. Is there a mailing list for Allegro CL?
  3.5 Q. How should I report bugs?
  3.6 Q. Does Allegro CL run on operating system *X*?
  3.7 Q. What is the best question to ask us as to my particular operating system and Allegro CL?
4.0 Patches
  4.1 Q. How do I install patches?
  4.2 Q. Is there a list of available patches?
  4.3 Q. Is there a list of available patches?
  4.4 Q. Why can't I get update.exe to run on Windows?
5.0 Express Edition installation and license file issues
  5.1 Q. \[Express\] What is the best way to update the Express Edition?
  5.2 Q. \[Express\] \[Windows\] Can I install the Express Edition if I do not have access to the internet?
  5.3 Q. \[Express\] \[Windows\] Is my antivirus software correct that the Express Edition is a virus?
  5.4 Q. \[Express\] How long can I use the Express Edition?
  5.5 Q. \[Express\] Does the Express Edition expire?
  5.6 Q. \[Express\] The date in the license file (devel.lic) is in the future, but when I run Allegro CL it says my license has expired. Why might this happen?
  5.7 Q. \[Express\] How do I build mlisp, alisp, or allegro images?
6.0 Professional/Enterprise Edition installation and license file issues
  6.1 Q. How do I install the license file?
  6.2 Q. I have misplaced the email telling me the URL from which I can download your license?
  6.3 Q. I can not access the URL for retrieving my license. What should I do?
  6.4 Q. I still have problems with my license file. Can I contact you for assistance?
7.0 Common Graphics/IDE Browser Version (CG/JS)
  7.1 Q. How do I install the IDE Browser version (CG/JS)?
8.0 Using Allegro Common Lisp
  8.1 Q. \[Express Edition\] Can I use the SSL interface in Allegro CL Express Edition?
  8.2 Q. Why doesn't make-pathname merge the given :directory component with the directory component in :defaults argument?
  8.3 Q. I am getting stack overflows and occasional Lisp failure when I sort on large arrays. Why and what can I do?
  8.4 Q. I have set the stack cushion (see sys:set-stack-cushion and sys:stack-cushion) to a reasonable value, but the soft stack limit is not being detected, and I get a lisp death instead. Why is that?
  8.5 Q. Why does it take so long to load a file that interns several thousand symbols in a package?
  8.6 Q. Why is equal hash table access slow when the keys are structure objects?
  8.7 Q. Why doesn't tracing a self-calling function trace the inner calls?
9.0 Heap placement issues
  9.1 Q. How can I specify very large heap sizes for 64-bit versions of Lisp?
  9.2 Q. Sometimes Allegro CL, particularly with large images, fail totally with a bus error or a segv. Why might this be happening?
  9.3 Q. Sometimes Allegro CL, particularly with large images, run out of memory with a storage-condition. Why might this be happening?
  9.4 Q. How is heap placement determined and what can go wrong?
  9.5 Q. How does Lisp start up, in terms of shared-library linking and loading?
  9.6 Q. How can I tell where my image's heaps are located, and what size they are?
  9.7 Q. How can I tell what addresses are being used in my process space?
  9.8 Q. \[Windows only\] How do I move DLL in memory so that it doesn't conflict with the Lisp heap?
  9.9 Q. What does the "Temporarily scaling back lisp reserved region from XXX to YYY bytes." mean?
  9.10 Q. What should I know when choosing non-default heap locations?
  9.11 Q. How do I build an image with non-default heap sizes and/or locations?
  9.12 Q. How do I build default images provided by Franz with non-default heap sizes and/or locations?
  9.13 Q. Can I specify heap locations and/or sizes when starting lisp?
10.0 Garbage Collection
  10.1 Q. My memory gobbling loop causes the gc to perform badly. Why?
  10.2 Q. How can I find leaks in the lisp heap?
11.0 Foreign Functions Interface
  11.1 Q. [32-bit Lisp] How do I pass and return 64-bit integers through the FFI?
12.0 AllegroCache
  12.1 Q. How do I get the latest version of AllegroCache?
13.0 Compatibility between 32 and 64-bit versions of Allegro CL
  13.1 Q. What changes are needed to move from a 32-bit to 64-bit Allegro CL?
  13.2 Q. Why does my 64-bit foreign call cause a SIGSEGV?
14.0 Misc
  14.1 Q. What issues must I be aware of when using excl.osi:fork
  14.2 Q. Do you have an interface to Python?
  14.3 Q. Sometimes TIME results produce negative values. Why?
15.0 Multiprocessing
  15.1 Q. Which versions and platforms have symmetric multiprocessing (SMP) extensions?
16.0 Windows
  16.1 Q. Should Allegro CL on Windows be installed in the Program Files directory?
  16.2 Q. My lisp immediately crashes a few seconds after startup. What's causing this?
  16.3 Q. Why can't I use `dir` with run-shell-command?
  16.4 Q. How do I control the stack size on Windows?
  16.5 Q. How do I get ANSI ACL (rather than Modern ACL) to start when I double-click on an lpr file?
  16.6 Q. Why is the compiler complaining about a missing in-package form when I am certain that my **offline file** starts with one?
  16.7 Q. Why does the right Alt key not work the same as the left Alt key?
17.0 Linux (architecture specific)
  17.1 Q. Why on Linux does Allegro CL die on startup?
  17.2 Q. On which x86 (i.e., Intel Pentium and friends) Linux versions do the currently supported versions of Allegro CL run?
18.0 Mac OS X (architecture specific)
19.0 Using Common Lisp (non-Allegro specific)
  19.1 Q. Why does read-from-string ignore my first keyword argument (unless I also specify both optional arguments)?
  19.2 Q. Why does read-from-string signal an end-of-file error even when I pass the eof-error-p argument as nil?

20 Allegro MySQL Direct Connect Library (mysql.html)

1.0 Allegro MySQL introduction
2.0 MariaDB databases
3.0 The Basic Operation of Allegro MySQL
  3.1 MySQL Errors
4.0 MySQL Examples
5.0 Conversions
6.0 MySQL and stored procedures
7.0 MySQL and multiprocessing
8.0 MySQL programming interface

21 Allegro ODBC (aodbc.html)

1.0 Platform-specific information for Aodbc
2.0 Allegro ODBC and thread safety
3.0 Implementation notes for Aodbc
  3.1 Representing characters in databases in Aodbc
4.0 Using ODBC
5.0 ODBC examples
  5.1 A simple AODBC interaction
  5.2 Binding input parameters
  5.3 Scanning through rows in AODBC
6.0 Character input buffers
7.0 Queries in AODBC
8.0 Transactions in AODBC
9.0 References in AODBC
10.0 Conditions in AODBC

22 AllegroCache (

23 AllegroGraph (

24 AllegroServe (aserve.html)

1.0 Introduction

25 An XML-RPC API for Allegro Common Lisp (xml-rpc.html)

1.0 XML-RPC in Allegro CL introduction
2.0 Various utility objects in XML-RPC
3.0 XML-RPC client api
4.0 XML-RPC data api
5.0 XML-RPC server api
6.0 XML-RPC examples
7.0 Index

26 ANSI Spec (ansicl/ansicl.htm)

27 API for Large Language Models (llm-api.html)

1.0 Large Language Model Introduction
2.0 LLM Functional Dependencies
3.0 LLM Quick Start
4.0 LLM API operators
5.0 LLM API variables
6.0 LLM Classes

28 Basic Lisp Techniques (basic-lisp-techniques.pdf)

29 Building and Using an Allegro Common Lisp Based DLL (dll.html)

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

30 Building Images (building-images.html)

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 Arguments to build-lisp-image 3: defaults taken from environment variables
7.0 Debugging an image build problem or failure
8.0 Use of
9.0 Building an image to include patches
10.0 Minimal top levels
  10.1 Using the default minimal top-level
  10.2 Requiring the normal top-level in a minimal top-level lisp
  10.3 Top-level variables

31 CLIM User Guide (clim-ug.pdf)

32 Common Graphics and the Integrated Development Environment (cgide.html)

1.0 About Common Graphics and IDE documentation
2.0 About Menus and Dialogs in the IDE
3.0 Common Graphics Streams
4.0 About IDE startup
  4.1 Note on the initial package
  4.2 How to create an 8-bit image which starts the IDE
5.0 The user options file
6.0 About submitting a bug report from a break in the IDE
7.0 About child, parent, and owner windows
8.0 About how to get sample code for creating controls
9.0 About using multiple windowing processes in a Common Graphics application
  9.1 Modal CG utility dialogs are not shared between processes
  9.2 CG re-entrancy
  9.3 Enhanced Break Key functionality
  9.4 Debugging Multiple Processes in the IDE
  9.5 Using the IDE while user code is busy
10.0 About design considerations for event-driven applications
  10.1 Message-handling routines that run for a long time
  10.2 Message-handling routines that block
11.0 Widget and window classes
12.0 About Touch Gesture Support in Common Graphics on Windows
13.0 About the position class
14.0 The I[cl-math-function] functions
15.0 The Windows API and a Windows API program with windows but without CG

33 Common Graphics on HTML5/JavaScript (CG/JS) (cg-cgjs.html)

1.0 About Common Graphics on HTML5/JavaScript (CG/JS)
2.0 Running the Lisp IDE in CG/JS Mode
  2.1 The IDE working in a web browser on a different machine than the Lisp
3.0 CG/JS Quick Start
4.0 Overview of CG/JS Features
  4.1 All Popular Web Browsers Should Work
  4.2 Any CG App Can Run in Desktop Mode or Web Browser Mode
  4.3 The Project Manager Has a Tab for CG/JS Options
  4.4 The Web Browser's Full-Screen Mode Can Be Used As Usual
  4.5 The User Can Zoom the Entire CG App
5.0 Changes You Might Need to Make in Your Application for CG/JS Mode
  5.1 The Variables for Special Icons Are Now Functions
  5.2 Additional CG Processes Need to Be Started in a Certain Way
  5.3 You May Need to Call cg-process-wait Rather than process-wait
  5.4 You May Need to Filter Events If Dragging Operations Are Sluggish
  5.5 You May Want to Use an Alternate Drawing Mode for Efficiency
  5.6 Always Do Exit Cleanup in User-Close Methods
  5.7 Avoid Prompting the User in a User-Close Method
  5.8 Dragging Loops Might Need to Call process-pending-events
  5.9 Setting the Default Web Browser for CG/JS in Windows 11
6.0 Functions that Are Specific to CG/JS
7.0 Command Line Options When Running a CG App in a Web Browser
  7.1 --run-as-web-browser-server
  7.2 --start-local-client
  7.3 --client-timeout
  7.4 --exit-server-on-client-exit
  7.5 --launcher
  7.6 --remote-password
  7.7 --file-to-publish
  7.8 --limit-connections-to-same-machine
  7.9 --show-cgjs-server-window
  7.10 --cgjs-logging
  7.11 --browser-server-port
  7.12 --max-clients
  7.13 --confirm-exit
  7.14 --port-file
  7.15 --secure
  7.16 --utilities-directory
8.0 An Example Web Page for Embedding a CG/JS Application

34 Compiler explanations (compiler-explanations.html)

1.0 Explanation introduction
2.0 :explain labels
  2.1 :boxing (B) labels: Bgen1
  2.2 :calls (C) labels: CallN
  2.3 :inlining (I) labels
    2.3.1 ;Iadd labels
    2.3.2 ;Iarg labels
    2.3.3 ;Iash labels
    2.3.4 ;Icmp labels
    2.3.5 ;Icon labels
    2.3.6 ;Idyn labels
    2.3.7 ;Ieql labels
    2.3.8 ;Ifnc labels
    2.3.9 ;Ifor labels
    2.3.10 ;Igen labels
    2.3.11 ;Ihof labels
    2.3.12 ;Iimm labels
    2.3.13 ;Ilen labels
    2.3.14 ;Imac labels
    2.3.15 ;Iref labels
    2.3.16 ;Itab labels
    2.3.17 ;Ityp labels
  2.4 tailmerging (M) labels
    2.4.1 ;Merg labels
    2.4.2 ;Mnot labels
  2.5 :type (T) labels
    2.5.1 ;Targ labels
    2.5.2 ;Tgen labels
    2.5.3 ;Tinf labels
    2.5.4 ;Tres labels
  2.6 :variable (V) labels
    2.6.1 ;Vreg labels
    2.6.2 ;Vflt labels
    2.6.3 ;Vmem labels
3.0 Examples using the :explain declaration
  3.1 Calls and types explanation
  3.2 Boxing explanation
  3.3 Variables explanation
  3.4 Tail-merging explanation
  3.5 Inlining explanations

35 Compiling (compiling.html)

1.0 Lisp images without a compiler
2.0 compile-file
  2.1 Persistence of defining forms encountered by compile-file
  2.2 Fasl files
  2.3 New compile-file strategy
3.0 Compiling individual forms or groups of forms
4.0 Conditions while compiling
  4.1 Compiler backtraces
  4.2 Compiler backtrace examples
  4.3 With-current-source-form example
  4.4 Compiler-specific warnings
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 Numeric calculation ordering and consistency
  8.8 Changing compiler optimization switch settings
  8.9 Verifying declarations
  8.10 Switch can be t or nil meaning always on or always off
  8.11 The excl:trusted-type declaration
9.0 Pointers for choosing speed and safety values
  9.1 Optimizing for fast floating-point operations
  9.2 Supported operations
10.0 Help with declarations: the :explain declaration
11.0 Other declarations and optimizations
  11.1 Inline declarations ignored
  11.2 Defstruct accessors
  11.3 Stack consing, avoiding consing using apply, and stack allocation
  11.4 Adding typep-transformers
  11.5 Compiler handling of top-level forms
  11.6 Warnings are signaled for misspelling in type declarations

36 Creating an Object-Editor Dialog or Class-Grid Programmatically (cg-object-editor-and-class-grid.html)

1.0 Introduction to object-editors and class-grids
2.0 Creating object-editors and class-grids
3.0 An example of creating an object-editor and a class-grid

37 Cross Reference Facility (cross-reference.html)

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

38 Date-time (ISO 8601) support in Allegro CL (date-time.html)

1.0 date-time introduction
2.0 ISO 8601
  2.1 ISO 8601 dates
  2.2 ISO 8601 times
  2.3 Parsing ISO 8601 date-time representations
  2.4 Validating ISO 8601 date-time representations
3.0 Conversions between date-time and CL universal-time
  3.1 Getting a date-time value as a string
4.0 Time-intervals
5.0 Adding/Subtracting Durations
6.0 date-time classes
  6.1 The date-time class
  6.2 The duration class
  6.3 The time-interval class
7.0 date-time operators
8.0 date-time variables
9.0 General date to universal time parsers
10.0 Copyright notice

39 DDE support in Allegro CL (dde.html)

1.0 DDE Introduction
2.0 DDE Example
3.0 Creating a port where Lisp is the DDE client
4.0 DDE Functionality
5.0 Correspondence between Windows commands and DDE function names

40 Debugging (debugging.html)

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, :intermediate, 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 :catches and :specials modes of :zoom
  5.6 :relative t and :relative nil modes of :zoom
  5.7 :zoom suspension point information
  5.8 The :bt command for a quick look at the stack
  5.9 Variables that affect the behavior of :zoom
  5.10 Special handling of certain errors by :zoom
  5.11 :zoom analogs and stack movement commands
  5.12 Commands that hide frames
  5.13 Frame information commands
  5.14 Local variables and evaluation
  5.15 Getting a backtrace programmatically
6.0 Local variables and the debugger
  6.1 What are local variables?
  6.2 Are locals stored in registers or on the stack?
  6.3 Local variable introduction
  6.4 An initial example with lots of local variables
  6.5 Discarding local variable information before dumplisp
  6.6 Summary of the discussion of locals
  6.7 How does the compiler treat local variables?
  6.8 What is the difference between using registers and using the stack?
  6.9 Live ranges of local variables
  6.10 Locals and functions in the tail position
  6.11 Example showing live range
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?
10.0 The tracer
  10.1 Tracing function objects
  10.2 Trace example
  10.3 Tracing setf, :before, and :after methods and internal functions
  10.4 The memlog tracer
11.0 The original 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 Breakpoints vs slide points
  12.2 Entering and Exiting the ldb stepper
  12.3 Ldb stepper functional interface
  12.4 Ldb stepping example run
13.0 The source stepper
14.0 Source stepper backends
  14.1 The :tty backend
  14.2 New flip-book style backend
15.0 Printing function meta data and related topics
  15.1 Source record description
  15.2 Disassembler output description
  15.3 Variable transition record description
  15.4 Census point description
16.0 gdb (or lldb or windbg) interface

41 Defsystem (defsystem.html)

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

42 Delivering Applications (delivery.html)

1.0 Delivery introduction
2.0 Definitions
3.0 Application mode
4.0 Developing the application and preparing for delivery
  4.1 A summary of the delivery process
  4.2 Legal and licensing issues
  4.3 Deciding on necessary features
  4.4 Deciding on top-level (user interaction)
  4.5 Packaging the product
  4.6 Including all desired modules
    4.6.1 Including the SSL module: issues with OpenSSL libraries
    4.6.2 Minimum required version of OpenSSL
    4.6.3 The :disasm module is needed for backtraces
  4.7 Defining the init functionality
  4.8 Specifying the initial value of *package*
  4.9 Setting up logical pathname translations
  4.10 Use of shared libraries (foreign files)
  4.11 CLOS training
    4.11.1 Generic functions, method combination, and discrimination
    4.11.2 Effective methods
    4.11.3 Caches for fast dispatching
    4.11.4 Constructor functions
    4.11.5 How to do CLOS start up optimizations
    4.11.6 make-instance optimization
5.0 Creating the deliverable
  5.1 Resources
  5.2 Defsystem
  5.3 Tuning the application
  5.4 More on the development environment
  5.5 GC parameters and switches
  5.6 GC cursors
  5.7 Allegro Runtime
  5.8 Windows specific information
    5.8.1 The console window in applications
    5.8.2 Icon files suitable as a value for icon-file
    5.8.3 Creating a Console APP on Windows
    5.8.4 Setting the VERSIONINFO of the application executable on Windows
  5.9 Installation of your application on Windows using the Install Wizard
    5.9.1 Uninstalling an application on Windows
  5.10 Testing your application
  5.11 Expiration warnings
6.0 generate-executable: a wrapper for generate-application
7.0 Users of your app must have necessary software installed
8.0 Updating your application after delivery
  8.1 The Allegro CL update naming
  8.2 Loading Allegro CL patches
  8.3 Patches for your application
  8.4 Creating patch files in general
  8.5 Creating a patch file
  8.6 What to do with patch files
  8.7 Including application patches in an image at build time
  8.8 Superseding a patch
  8.9 Withdrawing a patch
  8.10 Distributing patches
  8.11 Loading patches
9.0 Turning your application into a Windows Service
  9.1 ntservice functions
  9.2 ntservice tutorial

43 Document Object Model (DOM) in Allegro Common Lisp (dom.html)

1.0 DOM introduction
  1.1 Status and conformance
2.0 Naming conventions
3.0 DOM Ref: 1.1.1. The DOM Structure Model
4.0 Standard classes, methods, values
  4.1 Standard classes
  4.2 Standard methods and functions
  4.3 Standard values
  4.4 Standard conditions
  4.5 Additional classes, methods, functions, and variables
5.0 Examples using the DOM
6.0 Index for DOM

44 dumplisp (dumplisp.html)

1.0 Introduction to excl:dumplisp, a tool for saving an image
2.0 Finding additional files
3.0 Uses of excl:dumplisp
4.0 excl:dumplisp will fail under some conditions
  4.1 dumplisp error: too many regions
5.0 The dxl header
6.0 [allegro directory]/src/ 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 Standalone image: not supported
16.0 How the dumped image finds loaded library files
17.0 Logical pathnames and the dumped image
18.0 How the dumped image finds its Allegro directory
19.0 dumplisp and multiprocessing
20.0 How to use the dumped image
21.0 Virtual dumplisp: for very large images and pseudo-forks on Windows

45 Environments support in Allegro Common Lisp (environments.html)

1.0 Environments introduction
2.0 General information about environments in Allegro CL
  2.1 Kinds of environments
3.0 Environments functionality
4.0 Environments in Allegro CL

46 Errors (errors.html)

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: fastseq and safeseq

47 Examples using Allegro CL (examples.html)

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 SOAP examples
  1.9 SSL examples
  1.10 The simple network paging protocol example
  1.11 Encapsulating streams examples
  1.12 The skeleton test application
  1.13 An example using Telnet to communicate with a running Lisp process
  1.14 Lisp as a Unix Shared Library
  1.15 XML-RPC examples

48 Flavors (flavors.html)

49 Foreign Function Interface (foreign-functions.html)

1.0 Foreign functions introduction
  1.1 SWIG: Support for automatic generation of foreign function definitions 1
  1.2 CBIND: Support for automatic generation of foreign function definitions 2
  1.3 Some notation
  1.4 Different versions of Allegro CL load foreign code differently
  1.5 Package information
  1.6 Load foreign code with cl:load
    1.6.1 Foreign File Processing
    1.6.2 Externals must be resolved when the .so/.sl/.dylib/.dll file is created
    1.6.3 One library file cannot depend on an already loaded library file
    1.6.4 Entry points are updated automatically
    1.6.5 Duplicate entry points are never a problem
    1.6.6 If you modify a so/sl/dylib/dll file that has been loaded, you must load the modified file!
  1.7 Foreign code cannot easily be included at installation time
  1.8 Foreign functions and multiprocessing
  1.9 Creating Shared Objects that refer to Allegro CL Functionality
    1.9.1 Linking to Allegro CL shared library on macOS
    1.9.2 Delaying linking the Allegro CL shared-library until runtime
  1.10 Releasing the heap when calling foreign functions
2.0 The 4.3.x UNIX model for foreign functions
3.0 The foreign function interface specification
  3.1 Foreign function interface function summary
    3.1.1 A note on foreign addresses
  3.2 def-foreign-call
    3.2.1 def-foreign-call syntax
    3.2.2 The user-conversion function in a complex-type-spec
    3.2.3 def-foreign-call: the :returning keyword argument
    3.2.4 def-foreign-call examples
  3.3 def-foreign-variable
    3.3.1 def-foreign-variable syntax
    3.3.2 def-foreign-variable examples
  3.4 def-foreign-constant
4.0 Conventions for passing arguments
  4.1 Modifying arguments called by address: use arrays
  4.2 Lisp may not see a modification of an argument passed by address
  4.3 Lisp unexpectedly sees a change to an argument passed by address
  4.4 Passing fixnums, bignums, and integers
  4.5 Another example using arrays to pass values
5.0 Passing strings between Lisp and C
  5.1 Passing strings from Lisp to C
  5.2 Special Case: Passing an array of strings from Lisp to C
6.0 Passing structures by value
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
10.0 Foreign Functions on Windows
  10.1 Making a .dll
  10.2 Making a Fortran .dll
  10.3 The Lisp side of foreign functions
  10.4 A complete example
11.0 Building shared libraries on Solaris
12.0 Building shared libraries on Linux
13.0 Building shared libraries on FreeBSD
14.0 Building shared libraries on Mac OS X

50 Foreign Types (ftype.html)

1.0 Foreign types introduction
2.0 The foreign types facility
3.0 Examples
4.0 The Syntax for Foreign Types
  4.1 The union of two structs
5.0 Primitive Types
6.0 Allocation types
7.0 Aligned Pointers and the :aligned type
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

51 Fwrapping and Advice (fwrappers-and-advice.html)

1.0 The Fwrap Facility
  1.1 Fwrapper 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

52 Garbage Collection (gc.html)

1.0 Garbage collection introduction
  1.1 The Lisp heap
  1.2 Using multiple threads in global gc's
  1.3 CVO (code-vector only) spaces
  1.4 Precise gc's of the stack
    1.4.1 The LIFO section of the stack and dynamic-extent declarations
  1.5 Assessing whether the adjustment and compactification phases are justified
  1.6 How newspace is managed with scavenges
  1.7 When scavenges occur
  1.8 The system knows the age of objects in newspace
  1.9 Objects that survive long enough are tenured to oldspace
  1.10 Placement of newspace and oldspace: the simple model
  1.11 Oldspace, newspace, and Lisp will grow when necessary
  1.12 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 :minimum-recovery-bytes parameter for less than full global gc
  5.5 Parameters that use of multiple threads by the GC
  5.6 Gc switches
  5.7 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 including System Error
10.0 Weak vectors, finalizations, static arrays, etc.
  10.1 Weak arrays and hashtables
  10.2 Finalizations
    10.2.1 A finalized object may still be pointed to by a weak vector or hash-table
  10.3 Example of weak vectors and finalizations
  10.4 Static arrays
11.0 Functions for finding gc paths and new objects

53 Gray Streams in Allegro CL (gray-streams.html)

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

54 Grid widget: a simplified tutorial (cg-grid-widget-simplified-tutorial.html)

1.0 Using a form window to design a grid widget
  1.1 Getting started with an interactively designed grid-widget
  1.2 An interactively designed spreadsheet grid-widget

55 IDE User Guide (ide-ug/ide_user_guide_1.html)

56 Implementation (implementation.html)

1.0 Implementation introduction
2.0 Data types and array types
3.0 Arrays and short arrays
  3.1 Array short-ness
  3.2 Relationship of arrays to array-like structures
  3.3 Short-arrays in the type hierarchy
    3.3.1 String comparisons with short strings
4.0 Characters
5.0 Autoloading
  5.1 Where the autoloaded files are located
  5.2 Common Lisp symbols
  5.3 Major extensions
  5.4 How to load modules
6.0 Extensions to Common Lisp operators
  6.1 cl:apropos implementation
  6.2 cl:apropos-list implementation
  6.3 cl:defpackage implementation
  6.4 cl:defstruct implementation
  6.5 cl:directory implementation
  6.6 cl:disassemble implementation
  6.7 cl:ensure-directories-exist implementation
  6.8 cl:file-length
  6.9 cl:file-write-date implementation
  6.10 cl:format implementation
  6.11 cl:function-lambda-expression implementation
  6.12 cl:in-package implementation
  6.13 cl:interactive-stream-p implementation
  6.14 cl:intern implementation
  6.15 cl:lisp-implementation-version implementation
  6.16 cl:load implementation
  6.17 cl:loop and the for-as-in-sequence subclause for looping over sequences
  6.18 cl:macroexpand implementation
  6.19 cl:macroexpand-1 implementation
  6.20 cl:make-array implementation
  6.21 cl:make-hash-table implementation
  6.22 cl:make-package implementation
  6.23 cl:namestring implementation
  6.24 cl:open implementation
  6.25 cl:pprint implementation
  6.26 cl:pprint-fill implementation
  6.27 cl:pprint-linear implementation
  6.28 cl:pprint-tabular implementation
  6.29 cl:print-unreadable-object implementation
  6.30 cl:probe-file implementation
  6.31 cl:room implementation
  6.32 cl:sleep implementation
  6.33 cl:sort implementation
  6.34 cl:time implementation
  6.35 cl:truename implementation
  6.36 cl:write implementation
  6.37 cl:write-line implementation
  6.38 cl:write-sequence implementation
  6.39 cl:write-string implementation
  6.40 cl:write-vector implementation
7.0 Miscellaneous implementation details
  7.1 A comment about with-open-file and timing hazards
  7.2 cl:delete, cl:delete-if, cl:delete-if-not, cl:delete-duplicates: multiprocessing issues
  7.3 Reader macros and cl:\*features\*
    7.3.1 Features present or missing from \*features\* in Allegro CL
    7.3.2 The issue of nested conditionals in Allegro CL
  7.4 cl:random and cl:make-random-state
  7.5 Functionality for quickly writing and reading floats
  7.6 cl:provide and cl:require
  7.7 cl:simple-condition-format-arguments and cl:simple-condition-format-control
  7.8 What user-homedir-pathname does on Windows
  7.9 The standard readtable is read-only, affect on with-standard-io-syntax and modifying the readtable in init files and with -e
  7.10 Validity of value of end arguments to sequence functions not checked
  7.11 Speed and pretty printing
  7.12 class-precedence-list: when is it available?
  7.13 Floating-point infinities and NaNs, and floating-point underflow and overflow
  7.14 The :nat and :unsigned-nat types
  7.15 The #A reader macro
  7.16 Allegro CL print variables can follow the CL print variable value
  7.17 64 bit Allegro CL Implementations
8.0 Allegro CL and the ANSI CL standard
  8.1 Compatibility with pre-ANSI CLtL-1 in Allegro CL
  8.2 Other package changes and compile-time-too behavior
  8.3 The function data type
  8.4 CLOS and MOP
  8.5 CLOS and MOP conformance
  8.6 CLOS slot manipulators
  8.7 CLOS optimization
9.0 Defclass optimizations: fixed-index slots and defclass embellishers
  9.1 Optimizing slot-value calls with fixed indices
  9.2 Metaclasses for embellishing class definitions
10.0 Function specs (fspecs)
  10.1 Supported function specs
11.0 Some low-level functionality
  11.1 Windows: GetWinMainArgs2
12.0 Conformance with the ANSI specification
13.0 Appendix: Effective-method selection in Allegro CL CLOS and Associated Optimizations
  13.1 Appendix: Effective-method selection background
  13.2 Appendix: Generic Function Discriminators
  13.3 CLOS Effective-method selection: Fixed Slot Accesses
  13.4 Appendix: Operators associated with effective methods
  13.5 Appendix: Effective method determination and optimization: examples

57 Inspector (inspector.html)

1.0 The inspector introduction
  1.1 Inspector commands
  1.2 The inspector and the right margin
2.0 An example of inspect

58 Installation of Allegro CL 11.0 and related products (installation.html)

1.0 Definitions of some terms used in this document
2.0 Preinstallation information
  2.1 Installation sizes and supported Operating Systems
  2.2 Previous versions of Allegro CL
  2.3 Obtaining a license file
3.0 Installing Allegro Common Lisp
  3.1 Installing on Linux and FreeBSD
  3.2 Installing on Windows
  3.3 Installing on macOS
4.0 Installing OpenSSL
  4.1 OpenSSL requirements
  4.2 Application deployment considerations
  4.3 Installing OpenSSL on Linux and FreeBSD
  4.4 Installing OpenSSL on macOS
  4.5 Installing OpenSSL on Windows
  4.6 Testing that Allegro CL can load the OpenSSL libraries
5.0 Testing that the installation worked
  5.1 Starting the IDE on Windows
  5.2 Starting the IDE on macOS
  5.3 Starting the IDE on Linux
6.0 Installing source code
7.0 Updating Allegro CL and the update program
  7.1 More information on patches
  7.2 Should you get all patches?
  7.3 Updating the bundle file

59 International Character Support in Allegro CL (iacl.html)

1.0 Introduction to international character support
2.0 Internal Representation
  2.1 History of iacl
  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 Strict external formats which do not allow improper characters
    3.1.3 Unicode Surrogate Character Pairs in Allegro CL
    3.1.4 The unicode and fat External-Format Types; the unicode BOM
    3.1.5 Composed External-Formats
    3.1.6 Defining External-Formats
    3.1.7 Retrieving Existing External-Formats
    3.1.8 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
9.0 Operators, Symbols, Variables Documentation
  9.1 External-Format API
10.0 Appendix #\newline discussion
11.0 Appendix: 8-bit images
12.0 Appendix: Links to Unicode Reports

60 Introduction to cbind and cplbind (cbind-intro.html)

61 Introduction to the Allegro CL documentation (introduction.html)

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 and updates
5.0 Reporting bugs
  5.1 Where to report bugs and send questions
  5.2 Core files: when they are useful and what to do with them
6.0 Contacting Franz Inc. for sales, licensing assistance, and information

62 JiL - Java in Lisp (jil.html)

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

63 jLinker - A Dynamic Link between Lisp and Java (jlinker.html)

1.0 Introduction
  1.1 Jlinker and thread safety
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.1.3 Two Implementations
  2.2 Calling Style from Lisp to Java
    2.2.1 The Funcall Model
    2.2.2 The Class Model
    2.2.3 Dynamic Dispatch of Generated Lisp Functions
  2.3 Utility Lisp functions
  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, parallelism and connection pooling
  2.10 Calling Methods of Inner Classes
  2.11 Portability Issues
  2.12 Passing Array Arguments to Java
3.0 Installation
  3.1 Files involved in using jLinker
  3.2 One Lisp and Several Java Client/Server connections
  3.3 Native Java Issues
    3.3.2 Dumplisp
    3.3.3 Event Polling
    3.3.4 Miscellaneous Caveats
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
6.0 Index of classes, operators, and variables

64 Lisp as a Shared Library (unix-shared-library.html)

1.0 Why an updated interface
2.0 Lisp as a shared library application files
3.0 Lisp as a shared library application components
4.0 What happens at Lisp as a shared library initialization
5.0 A note about using Foreign Functions on non-os-thread platforms
6.0 C API (routines and data structures)
7.0 Lisp API
8.0 Compilation and Delivery
9.0 OS-Specific Library Search Path

65 Loading (loading.html)

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 facility has been removed
4.0 Loading and case modes

66 Miscellaneous Functionality (miscellaneous.html)

1.0 Introduction
2.0 The fasl reader/writer
3.0 Miscellaneous extensions
  3.1 Day and date calculation functions and their relation to time zones
4.0 Creating and using pll files using cvdcvti/cvdcvt
5.0 MD5, SHA*, HMAC, RC4, and other message digest support
6.0 Base64 support
7.0 Support for encryption
  7.1 Support for Blowfish encryption
  7.2 Support for rsa encryption
8.0 Support for gzip and bzip compression and decompression
9.0 PAM support in Allegro Common Lisp
  9.1 PAM conversation functions
10.0 asdf support in Allegro CL
11.0 tar support in Allegro CL
12.0 Coverage analysis in Allegro CL
13.0 Checking format forms during compilation
14.0 Heap walkers in Allegro CL
  15.1 JSON-RPC server operators and variables
  15.2 JSON-RPC client operators and variables
  15.3 JSON-RPC built-in stream transport
  15.4 JSON-RPC built-in allegroserve transport
  15.5 JSON-RPC: how to add a new transport method
  15.6 JSON-RPC: examples
  15.7 JSON-RPC: functionality index
16.0 Websocket API
  16.1 Websocket threading behavior
  16.2 Websocket server functionality
  16.3 Websocket client functionality
  16.4 Websocket event handlers
  16.5 Websocket general functionality
  16.6 Websocket classes
  16.7 Websocket variables
  16.8 Websocket API index
17.0 The multiprocessing logging (mplog) facility
  17.1 Constructing mplog files from the debugger on Windows
18.0 Conditionalizing assert calls
  18.1 The assert-enable interface
  18.2 Enable-assertion functionality
19.0 Creating user-defined hash-table implementations
  19.1 Descriptor vector sections
  19.2 Instance slots for :acl implementation
20.0 Concise-printing
21.0 Position information

67 MOP (mop/contents.html)

68 Multiprocessing (multiprocessing.html)

1.0 Multiprocessing introduction
  1.1 Data types added to standard Common Lisp
  1.2 The maximum number of simultaneous processes
2.0 Variables and functions
  2.1 Threads and processes
  2.2 Native threads and foreign functions
  2.3 When all wait functions depend on external events
  2.4 Waiting for input from a stream
    2.4.1 mp:process-wait vs mp:wait-for-input-available
3.0 Process functions and variables
4.0 Process pools
  4.1 Steps to using process pools
  4.2 Process-pool example
  4.3 Process-pool functionality
5.0 Processes and their dynamic environments
  5.1 Lisp listeners and special variable bindings
6.0 Gates
  6.1 Semaphores
7.0 Queues
  7.1 Sized queues
8.0 Process locks
9.0 cl:sleep and minimum sleeping time
10.0 OS error code 0xc on Windows
11.0 A simple example of multiprocessing
12.0 Wide binding
  12.1 The bindstack index
13.0 Processes and the runtime analyzer

69 NDBM support in Allegro CL (ndbm.html)

1.0 NDBM introduction
2.0 NDBM interface

70 OLE Interface (ole.html)

1.0 Introduction to OLE support
2.0 Introduction to high-level OLE/OCX interface
  2.1 OCX objects and Allegro CL
  2.2 Type Libraries
  2.3 Typelib entity: CoClass
  2.4 Typelib entity: Enum
  2.5 Typelib entity: Interface
  2.6 OLE/OCX low-level internals discussion
  2.7 Reference guide to interface operators
  2.8 Index to high-level interface operators
3.0 Introduction to the low-level OLE interface
  3.1 Sample Programs
  3.2 System Structure
    3.2.1 Basic Concepts
    3.2.2 Important CLOS Issues for an Allegro CL OLE Application
    3.2.3 Special OLE Data Types
    3.2.4 Language and Locale
    3.2.5 Interfaces and Objects
    3.2.6 The Registry
  3.3 Writing an Automation Client
    3.3.1 Dynamic naming
    3.3.2 Unique ids
    3.3.3 Classes
    3.3.4 The Lisp remote-autotool Class
    3.3.5 Set-up
  3.4 Writing a Server
  3.5 Defining Interfaces
  3.6 Low Level View
    3.6.1 Class Hierarchies
    3.6.2 Control Flow

71 Operating System Constants defined in Allegro CL (osi-constants.html)

1.0 Lisp constants corresponding to Operating System constants
2.0 Defined Operating System/Lisp constants by architecture

72 Operating System Interface (os-interface.html)

1.0 Operating-system interface
2.0 Subprocess functions
3.0 Filesystem manipulation functions
4.0 Temporary directory and files
5.0 Accessing command-line arguments
6.0 Polling and setting environment variables
7.0 The Operating System Interface (OSI) module
8.0 Subprocess functions
9.0 Filesystem manipulation functions
10.0 Temporary directory and files
11.0 Accessing command-line arguments
12.0 Polling and setting environment variables
13.0 The Operating System Interface (OSI) module
  13.1 System calls and library routines dealing with time
14.0 Operating System Interface Functionality
  14.1 OSI file handling functionality
  14.2 OSI time functionality
  14.3 OSI password functionality
  14.4 OSI shadow password functionality
  14.5 OSI group file access
  14.6 OSI networks file access
  14.7 OSI services file access
  14.8 OSI protocols file access
  14.9 OSI process/uid/gid interface functions
  14.10 OSI file locking functions
  14.11 OSI miscellaneous low-level functionality
  14.12 OSI miscellaneous higher-level functionality
  14.13 Lisp constants corresponding to Operating System constants

73 Oracle Interface: Allegro Oracle Direct Connect (oracle-interface.html)

1.0 Oracle Interface introduction
  1.1 Prerequisites and implementation details
2.0 Connections to Oracle
  2.1 Blocking and non-blocking modes
3.0 The Oracle datatypes
4.0 Cursors
5.0 The Oracle interface API
  5.1 API for connecting and disconnecting
  5.2 Excuting DML and DDL
  5.3 One step execution of an sql statement
  5.4 Step by step execution of a sql statement
  5.5 The Convert Argument
    5.5.1 The syntax of the convert argument
    5.5.2 The convert argument values
  5.6 Binding parameters
  5.7 Multiple statement handles
  5.8 Statement handle parameters
  5.9 Setting flags
  5.10 Obtaining schema information
  5.11 Managing cursors
6.0 Examples using the Oracle interface
7.0 Index for Oracle Interface

74 ORBLink (orblink/doc/index.htm)

75 Other Allegro CL Associated Programs (other-programs.html)

1.0 Introduction to other programs
  1.1 Other programs listing
2.0 The bundle program
3.0 The cvdcvt and cvdcvti programs
4.0 The fasldump program
5.0 The faslinfo program
6.0 The make_shared program
7.0 The plldump program

76 Packages (packages.html)

1.0 Packages introduction
  1.1 The current package on startup
2.0 Hierarchical Packages
  2.1 Hierarchical Package Terminology
  2.2 The problem with dots 1: find-package with names that begin with dots
  2.3 The problem with dots 2: names and nicknames that end with dots
  2.4 Defining hierarchical packages
  2.5 Package nicknames: absolute and relative
    2.5.1 Names and Nicknames created with :flat t
  2.6 Resolving relative package names
  2.7 Hierarchical package specified with nicknames
  2.8 Hierarchical package anomalies
  2.9 Package prefixes reserved by Allegro CL
  2.10 Functions for hierarchical packages
3.0 Package-local Nicknames
4.0 Packages in Allegro CL
5.0 Notes on specific packages
6.0 Package nicknames and alternate names
7.0 The package in files with no in-package form
8.0 Package locking and package definition locking
  8.1 Package locking
  8.2 Package definition locking
  8.3 Implementation packages
  8.4 Package locked errors
  8.5 Locally circumventing package locked errors
  8.6 The packages locked by default
  8.7 Justification for package locking

77 Pathnames (pathnames.html)

1.0 Parsing Unix pathnames
  1.1 Preprocessing
  1.2 Determining the :directory component
  1.3 Determining the :name component
  1.4 Determining the :type component
  1.5 Anomalies
  1.6 Table of examples
2.0 The directory component of merged pathnames
3.0 Parsing Windows pathnames
4.0 Miscellaneous pathname functions
5.0 Logical pathnames
  5.1 Logical pathnames: introduction
  5.2 Logical pathnames: general implementation details
  5.3 Logical pathnames: some points to note
  5.4 Details of cl:load-logical-pathname-translations
6.0 Pathname wildcard syntax

78 Prolog: Allegro Prolog (prolog.html)

79 Regular Expression API (regexp.html)

1.0 Regular Expression handling in Allegro CL
2.0 The regexp2 module
  2.1 Matching mode in the regexp2 module
  2.2 Regular expression syntax summary
  2.3 Capturing and back reference
  2.4 Regexp trees
  2.5 User-level API in the regexp2 module
  2.6 Compatibility issues in the regexp2 module
  2.7 Performance notes in the regexp2 module

80 Release Notes for Allegro Common Lisp (release-notes.html)

1.0 Introduction

81 Release Notes for version 11.0 (release-notes-11.0.html)

1.0 Introduction
  1.1 Platform information
  1.2 Heap start locations
2.0 Changes to the documentation
3.0 Changes to Allegro CL
  3.1 Non-backward compatible changes
    3.1.1 Removed functionalities
    3.1.2 Incompatible changes
  3.2 New Features and Fixes
    3.2.1 New features
    3.2.2 Performance enhancements
    3.2.3 Compiler enhancements
    3.2.4 Debugging enhancements
    3.2.5 Socket enhancements
    3.2.6 Bug fixes
    3.2.7 Documentation enhancements
    3.2.8 Other enhancements
  3.3 Changes to the runtime analyzer
4.0 Changes to Common Graphics and the IDE
  4.1 New changes to Common Graphics
  4.2 Changes to Common Graphics released as patches to 10.1
  4.3 Changes to the IDE
  4.4 Details of the CG/JS version of CG and the IDE
    4.4.1 CG/JS-Related Notes Even When Not Using CG/JS on Windows
    4.4.2 Some Advantages of CG/JS Mode
    4.4.3 New Functions for CG/JS

82 Remote Procedure Call support in Allegro CL (rpc.html)

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 connectionsStream 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 Messages and Tags
  6.1 Error messages in simple-error instances
  6.2 Error keywords returned as the second value
7.0 Gates
8.0 Examples
9.0 Running several communicating Allegro CL images
10.0 Index of RPC operators, classes, and variables

83 Runtime analyzer (runtime-analyzer.html)

1.0 Runtime analyzer Introduction
2.0 The four types of analysis: general information
  2.1 The CPU time analyzer
  2.2 The real time analyzer
  2.3 The space analyzer
  2.4 The call-counting profiler
3.0 Invoking the runtime analyzer
4.0 Further points, including information on temporary files
  4.1 Profiling error: could not read text section
5.0 Controlling the operation of data collection
  5.1 Control of data collection
  5.2 Runtime analysis with multiprocessing enabled
  5.3 Closures in runtime analysis output
6.0 Interpreting the results
  6.1 Call-count results
  6.2 Space and time results
    6.2.1 Profiles in a function disassembly
    6.2.2 A note on the header in results
    6.2.3 Ephemeral functions in results
  6.3 Examples of profiling
    6.3.1 A disassembly with profiling example

84 Source File Recording (source-file-recording.html)

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

85 Streams in Allegro CL (streams.html)

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
  12.4 Examples of stream encapsulations
    12.4.1 Rot13b: An Example of Bidirectional Stream Encapsulation
    12.4.2 Base64: an example of binary stream encapsulation
  12.5 Encapsulating composing external-formats
13.0 Built-in stream methods and their uses
  13.1 The print-object built-in stream method
14.0 peek-byte and unread-byte

86 String utility functions in Allegro CL (string-utilities.html)

1.0 Operators in the util-string module

87 Symmetric Multiprocessing in Allegro CL (smp.html)

1.0 Symmetric Multiprocessing introduction
  1.1 Loading smp-related functionality
  1.2 An example of the difference between SMP Lisp and non-SMP Lisp
  1.3 Non-SMP images on platforms that support SMP
2.0 Deprecated macros
  2.1 Deprecated macro: excl::atomically
  2.2 Deprecated macro: without-interrupts
  2.3 Deprecated macro: sys:without-scheduling
3.0 New macros and related functionality
  3.1 Non-synchronizing usages
  3.2 Atomic read-modify-write primitives
  3.3 Concurrency control for shared objects
  3.4 Sharable locks
  3.5 The barrier API
  3.6 Queues
  3.7 Condition Variables
4.0 Thread-safety
  4.1 Thread-unsafe standard Lisp operations: *features*, *modules*, require/provide, external-format loading, etc.
  4.2 SMP and the MOP
  4.3 Stream thread safety
  4.4 Suspending all processes
5.0 Ensuring code is not loaded into an SMP Lisp
6.0 Memlog: A Facility for Minimally Intrusive Monitoring of Complex Application Behavior

88 System Internals in Common Graphics (cg-system.html)

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

89 The Allegro CL imap and pop interface (imap.html)

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 MIME support
5.0 The SMTP interface (used for sending mail)
6.0 The net.mail interface for parsing and validating email addresses

90 The Allegro CL Test harness (test-harness.html)

1.0 The tester module API
  1.1 Test Harness Variables
  1.2 Test Harness Macros
  1.3 Examples
2.0 Running tests in multiple threads (Lisp processes)

91 The Allegro FTP client module (ftp.html)

1.0 Introduction
2.0 The Allegro FTP Client API

92 The Debugger API (debugger-api.html)

1.0 Introduction
2.0 The dynamic interface specification
  2.1 Stack frames
  2.2 Stack frame filter
  2.3 Frame descriptors
  2.4 Frame variables
  2.5 Distinguished values: unknown-p and none-p
  2.6 Transferring Control to the debugger: break-hook
  2.7 Frame interface functions
  2.8 Top-level and debugger interface
  2.9 Environment objects

93 The Domain Naming System Utility (dns.html)

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 TXT queries
  3.5 SRV queries
  3.6 Undecoded responses
  3.7 Repeat and timeout

94 The Emacs-Lisp Interface (eli.html)

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.2.1 How to run two Emacs's connected to two different Lisps
  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 Security of the Emacs-Lisp Interface
  1.11 Bug reports and fixes
  1.12 Changes in the interface in Release 6.2
    1.12.1 Improved menu-bar menus
    1.12.2 Compliance with major mode conventions, including user-visible changes after installing the patch
    1.12.3 New keybindings
    1.12.4 Auto-arglist on SPC
    1.12.5 Pop-up buffer handling
    1.12.6 Misc
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.2.1 Input rings
    3.2.2 Tracking directory changes
    3.2.3 Tracking package changes
    3.2.4 Lisp Listeners
    3.2.5 Argument lists
  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 Modifying the state of the Common Lisp environment
  5.3 Debugging Common Lisp processes in Emacs
  5.4 Lisp Listeners and multiprocessing
  5.5 Miscellaneous programming aids
  5.6 Bug reports
6.0 Shell modes
7.0 Advanced miscellaneous features
  7.1 Emacs hooks
  7.2 The Emacs-Lisp interface and excl:dumplisp

95 The shell module interface (shell-module.html)

1.0 Introduction
2.0 Operators, variables, and classes in the Shell module

96 The Top Level (top-level.html)

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
  6.1 Argument processing for :processes, :focus, :arrest, :unarrest and :kill
  6.2 More on the :processes command
  6.3 More on the :focus, :arrest, and :unarrest commands
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
12.0 Printing long strings

97 The two clipboards in Common Graphics (cg-clipboard.html)

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

98 URI and IRI support in Allegro CL (uri.html)

1.0 Introduction
  1.1 RFC2396 no longer governs
2.0 The URI and IRI API definition
3.0 Parsing, escape decoding/encoding and the path
4.0 Interning URIs
5.0 Allegro CL implementation notes
6.0 Deviations from the RFC grammars and strict parsing
7.0 Examples

99 User-defined main() (main.html)

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
4.0 Potential problems with user-defined main() on Linux

Copyright (c) 1998-2023, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.1 page.
Created 2023.7.26.

Allegro CL version 11.0