| Allegro CL version 10.0 Object described on page has changed in 10.0. 9.0 version |
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 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.
1.0 Aodbc introduction
1.1 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 interaction
5.2 Binding input parameters
5.3 Scanning through rows
6.0 Character input buffers
7.0 Queries
8.0 Transactions
9.0 Reference
10.0 Conditions
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 custom.cl
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
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
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
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
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
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
1.0 Coordinate System Unit of Size
2.0 Coordinate System Location of Origin
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
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
1.0 Introduction to MCI functionality in Common Graphics
2.0 MCI functionality
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
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
1.0 The Rich Text Interactive Interface
2.0 The Rich Text Programmatic Interface
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
1.0 About Common Graphics and IDE documentation
2.0 About Menus and Dialogs in the IDE
3.0 Platform-specific information
4.0 Common Graphics Streams
5.0 About IDE startup
5.1 Note on the initial package
5.2 How to create an 8-bit image which starts the IDE
6.0 The user options file allegro-ide-options.cl
7.0 About submitting a bug report from a break in the IDE
8.0 About child, parent, and owner windows
9.0 About how to get sample code for creating controls
10.0 About using multiple windowing processes in a Common Graphics application
10.1 Modal CG utility dialogs are not shared between processes
10.2 CG re-entrancy
10.3 Enhanced Break Key functionality
10.4 Debugging Multiple Processes in the IDE
10.5 Using the IDE while user code is busy
11.0 About design considerations for event-driven applications
11.1 Message-handling routines that run for a long time
11.2 Message-handling routines that block
12.0 Widget and window classes
13.0 About Touch Gesture Support in Common Graphics on Windows
14.0 About creating a Standalone Common Graphics Application without using the Project System
15.0 About the position class
16.0 The I[cl-math-function] functions
A The Windows API and a Windows API program with windows but without CG
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
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
3.0 Compiling individual forms or groups of forms
4.0 Compiler warnings: undefined function, inconsistent name usage, unreachable code
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 Verifying declarations
8.9 Switch can be t or nil meaning always on or always off
8.10 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
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 ACL/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 runtime analyzer
7.1 Runtime analyzer profile 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:
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
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
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
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 :zoom :verbose t suspension point infomation
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 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
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 Entering and Exiting the ldb stepper
12.2 Ldb stepper functional interface
12.3 Ldb stepping example run
13.0 The source stepper
14.0 Printing function meta data are related topics
14.1 Source record description
14.2 Disassembler output description
14.3 Variable transition record description
14.4 Census point description
A gdb (or windbg) interface
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
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.6.1 Including the SSL module: issues with OpenSSL libraries
3.6.2 Minimum required version of OpenSSL
3.6.3 The :disasm module is needed for backtraces
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 The console window in applications
4.9.2 Icon files suitable as a value for icon-file
4.9.3 Creating a Console APP on Windows
4.9.4 Setting the VERSIONINFO of the application executable on Windows
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 for generate-application
6.0 Users of your app must have necessary software installed (such as X11 and GTK)
7.0 Updating your application after delivery
7.1 The Allegro CL update naming scheme
7.2 Loading Allegro CL patches
7.3 Patches for your application
7.4 Creating patch files in general
7.5 Creating a patch file
7.6 What to do with patch files
7.7 Including application patches in an image at build time
7.8 Superseding a patch
7.9 Withdrawing a patch
7.10 Distributing patches
7.11 Loading patches
8.0 Turning your application into a Windows Service
8.1 ntservice functions
8.2 ntservice tutorial
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
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 Undecoded responses
3.6 Repeat and timeout
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
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/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 dumplisp and multiprocessing
21.0 How to use the dumped image
22.0 Virtual dumplisp: for very large images and pseudo-forks on Windows
1.0 EC2 introduction
1.1 The EC2 module, package, and supported platforms
1.2 Example requirements
1.3 General comments on the EC2 interface
2.0 EC2 setup and requirements
3.0 EC2 classes
4.0 Functions for image manipulation
5.0 Functions for instance manipulation
6.0 Functions for key pair manipulation
7.0 Functions for security manipulation
8.0 Functions for Elastic IP address manipulation
9.0 Functions for EBS manipulation
10.0 High-level EC2 functions
11.0 Miscellaneous functions
A EC2 variables
B EC2 classes
B.1 The ec2-instance class
B.2 The ec2-image class
B.3 The ec2-key class
B.4 The ec2-security-group class
B.5 The ec2-ip-permissions class
B.6 The ec2-volume class
B.7 The ec2-attachment class
B.8 The ec2-snapshot class
C EC2 operators
C.1 Image manipulation operators
C.2 Instance manipulation operators
C.3 Key pair manipulation operators
C.4 Security manipulation operators
C.5 Elastic IP address manipulation operators
C.6 Functionality for EBS manipulation
C.7 High-level operators
C.8 Miscellaneous operators
D EC2 other functionality: ec2-region, ec2-identity, and ec2-error
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 Interaction with Allegro Composer
5.3 Modifying the state of the Common Lisp environment
5.4 Debugging Common Lisp processes in Emacs
5.5 Lisp Listeners and multiprocessing
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
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
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
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
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 Mac OS X
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
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
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
C Building shared libraries on Linux
D Building shared libraries on FreeBSD
E Building shared libraries on Mac OS X
1.0 Introduction
2.0 The Allegro FTP Client API
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
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
1.0 Garbage collection introduction
1.1 The garbage collection scheme
1.2 Using multiple threads in global gc's
1.3 Precise gc's of the stack
1.3.1 The LIFO section of the stack and dynamic-extent declarations
1.4 Assessing whether the adjustment and compactification phases are justified
1.5 How newspace is managed with scavenges
1.6 When scavenges occur
1.7 The system knows the age of objects in newspace
1.8 Objects that survive long enough are tenured to oldspace
1.9 Placement of newspace and oldspace: the simple model
1.10 Oldspace, newspace, and Lisp will grow when necessary
1.11 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
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
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 Strict external formats which do not allow improper characters
3.1.3 The unicode and fat External-Format Types; the unicode BOM
3.1.4 Composed External-Formats
3.1.5 Defining External-Formats
3.1.6 Retrieving Existing External-Formats
3.1.7 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 Operators, Symbols, Variables Documentation
A.1 External-Format API
B #\newline Discussion
C 8-bit images
D Links to Unicode Reports
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
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 Miscellaneous implementation details
6.1 Extensions to cl:make-package, cl:intern, cl:disassemble, cl:truename, cl:probe-file, cl:open, cl:apropos, etc.
6.1.1 Extensions to cl:make-package
6.1.2 Extensions to cl:intern
6.1.3 Extensions to cl:disassemble
6.1.4 Extensions to cl:truename
6.1.5 Extensions to cl:probe-file
6.1.6 Extensions to cl:open
6.1.7 Extensions to cl:apropos
6.1.8 Extensions to cl:interactive-stream-p
6.1.9 Extensions to cl:write
6.2 A comment about with-open-file and timing hazards
6.3 cl:time implementation
6.4 cl:directory and cl:ensure-directories-exist
6.5 cl:loop and the for-as-in-sequence subclause for looping over sequences
6.6 cl:delete, cl:delete-if, cl:delete-if-not, cl:delete-duplicates: multiprocessing issues
6.7 Reader macros and cl:*features*
6.7.1 Features present or missing from *features* in Allegro CL
6.7.2 The issue of nested conditionals in Allegro CL
6.8 cl:random and cl:make-random-state
6.9 cl:make-hash-table
6.10 cl:make-array
6.11 cl:namestring
6.12 cl:defpackage and cl:in-package
6.13 cl:file-length
6.14 cl:file-write-date
6.15 cl:lisp-implementation-version
6.16 cl:function-lambda-expression
6.17 Functionality for quickly writing and reading floats
6.18 cl:provide and cl:require
6.19 cl:macroexpand and cl:macroexpand-1
6.20 cl:simple-condition-format-arguments and cl:simple-condition-format-control
6.21 What user-homedir-pathname does on Windows
6.22 The standard readtable is read-only, affect on with-standard-io-syntax and modifying the readtable in init files and with -e
6.23 Validity of value of end arguments to sequence functions not checked
6.24 Speed and pretty printing
6.25 class-precedence-list: when is it available?
6.26 Floating-point infinities and NaNs, and floating-point underflow and overflow
6.27 The :nat and :unsigned-nat types
6.28 The #A reader macro
6.29 Allegro CL print variables can follow the CL print variable value
6.30 64 bit Allegro CL Implementations
7.0 Platform-specific issues
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 optimization
9.0 Function specs (fspecs)
9.1 Supported function specs
10.0 Some low-level functionality
10.1 Windows: GetWinMainArgs2
11.0 Conformance with the ANSI specification
1.0 The inspector introduction
1.1 Inspector commands
1.2 The inspector and the right margin
2.0 An example of inspect
1.0 Installation introduction
1.1 Definitions of some terms used in this document
1.2 Installation sizes and supported Operating System versions
2.0 Preinstallation Steps
2.1 You can leave Allegro CL 9.0 installed
3.0 Installation steps
4.0 Notes for installation of Allegro CL on UNIX (including Linux)
4.1 Getting 32-bit Allegro CL to run on 64-bit Fedora 25 and later
4.2 Getting 32-bit Allegro CL to run on 64-bit Ubuntu
4.3 Allegro CL may have problems starting up when run on SELinux
4.4 Testing that the installation of Allegro CL on Unix was successful
5.0 Installation on Windows
5.1 Testing that the installation of Allegro CL on Windows was successful
6.0 Installation on macOS
6.1 Installing GTK and Open Motif on macOS
6.1.1 Installing X11 and GTK on macOS
6.1.2 X11/XQuartz and macOS 10.9 (Mavericks)
6.1.3 Installing OpenMotif on macOS
6.2 Updating for macOS 10.10
6.2.1 Getting a working GTK Framework on macOS 10.10 when you do not use the IDE
6.3 Testing that the installation of Allegro CL on macOS was successful
6.4 Warning about XQuartz's Full-screen mode
7.0 Installing Emacs from the web
8.0 Installing OpenSSL libraries
9.0 Other Allegro CL products
10.0 Getting a license file
11.0 Installing source code
12.0 The Express Edition
12.1 Information on the Express license
12.2 Running the IDE in Allegro CL 10.0 Express on Linux
12.3 Creating additional Express Edition images on Windows
13.0 The Student Edition
13.1 Information on installing the Student Edition
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
4.3 Further update 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
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
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
1.0 Release and update information
2.0 Introduction
2.1 Jlinker and thread safety
3.0 Creating a Dynamically Linked Lisp/Java Application
3.1 Calling Java
3.1.1 Two Calling Models
3.1.2 Data Types and Conversions
3.1.3 Two Implementations
3.2 Calling Style from Lisp to Java
3.2.1 The Funcall Model
3.2.2 The Class Model
3.2.3 Dynamic Dispatch of Generated Lisp Functions
3.3 Utility Lisp functions
3.4 Dynamic Linkage Java Reference
3.5 Initialization Functions and Variables
3.6 Event Handling
3.6.1 Lightweight Callback to Lisp Methods
3.6.2 Lisp Functions to Dispatch Java Events
3.6.3 Implemented Sub-Classes of AWT Event Handlers
3.7 I18N Issues
3.8 Java Applets
3.9 Re-entrancy, parallelism and connection pooling
3.10 Calling Methods of Inner Classes
3.11 Portability Issues
3.12 Passing Array Arguments to Java
4.0 Installation
4.1 Files involved in using jLinker
4.2 One Lisp and Several Java Client/Server connections
4.3 Native Java Issues
4.3.1 LD_LIBRARY_PATH
4.3.2 Dumplisp
4.3.3 Event Polling
4.3.4 Miscellaneous Caveats
5.0 A Complete Code Example
6.0 Packaging Lisp applications as Java beans and servlets
6.1 The jLinker Java Bean API
6.2 The jLinker Servlet API
7.0 Index of classes, operators, and variables
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
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
1.0 Introduction
2.0 The fasl reader/writer
3.0 Miscellaneous extensions
4.0 Creating and using pll files
5.0 MD*, SHA*, HMAC, 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
7.3 Support for the RC4 cipher
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.0 The JSON-RPC API
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 server functionality
16.2 Websocket client functionality
16.3 Websocket event handlers
16.4 Websocket general functionality
16.5 Websocket classes
16.6 Websocket API index
17.0 The multiprocessing logging (mplog) facility
17.1 Constructing mplog files from the debugger on Windows
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 Processes and their dynamic environments
4.1 Lisp listeners and special variable bindings
5.0 Gates
5.1 Semaphores
6.0 Queues
6.1 Sized queues
7.0 Process locks
8.0 cl:sleep and minimum sleeping time
9.0 OS error code 0xc on Windows
10.0 A simple example of multiprocessing
A Wide binding
A.1 The bindstack index
B Processes and the runtime analyzer
1.0 Allegro MySQL introduction
2.0 The Basic Operation of Allegro MySQL
2.1 MySQL Errors
3.0 MySQL Examples
4.0 Conversions
5.0 MySQL and stored procedures
6.0 MySQL and multiprocessing
7.0 MySQL programming interface
1.0 NDBM introduction
2.0 NDBM interface
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
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
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
7.1 System calls and library routines dealing with time
A Operating System Interface Functionality
A.1 OSI file handling functionality
A.2 OSI time functionality
A.3 OSI password functionality
A.4 OSI shadow password functionality
A.5 OSI group file access
A.6 OSI networks file access
A.7 OSI services file access
A.8 OSI protocols file access
A.9 OSI process/uid/gid interface functions
A.10 OSI file locking functions
A.11 OSI miscellaneous low-level functionality
A.12 OSI miscellaneous higher-level functionality
A.13 Lisp constants corresponding to Operating System constants
1.0 Lisp constants corresponding to Operating System constants
A Defined Operating System/Lisp constants by architecture
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 Packages in Allegro CL
4.0 Notes on specific packages
5.0 Package nicknames and alternate names
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
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
8.0 Pathname wildcard syntax
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
1.0 Introduction
2.0 Information on changes and new stuff since the 10.1 release
3.0 Information on changes and new stuff since the 10.0 release
4.0 Fasl files are not-compatible between versions and operating systems
4.1 All pre-10.0 Lisp compiled files must be recompiled (old fasl files will not load)
4.2 Fasl files may be incompatible in different Lisps on same hardware
5.0 Release Notes for installation
6.0 Release notes for specific platforms
6.1 Required versions of OpenSSL needed for the :ssl module
6.2 macOS notes
6.2.1 Allegro CL must be updated to work with macOS 10.10
6.2.2 Installing Mavericks OS (macOS 10.9) may break X11
6.2.3 Installing Mountain Lion OS (macOS 10.8) may uninstall X11
6.3 Heap start locations
7.0 Release Notes for the base Lisp
7.1 New features in the base Lisp
7.1.1 Features added to Allegro CL 9.0 after the initial release of Allegro CL 9.0
7.2 Non-backward-compatible changes in the base Lisp
7.3 Other changes to and notes about the base Lisp
7.4 Multiprocessing and SMP release notes
7.5 Base Lisp platform-specific information
8.0 Release Notes for CLIM
9.0 Release Notes for Common Graphics and the IDE
9.1 Significant changes in Common Graphics
9.2 Non-backward-compatible changes in Common Graphics
9.3 Other changes in Common Graphics
9.4 IDE release notes
9.4.1 Opening projects from releases prior to 10.0
9.5 Common Graphics and the IDE on the Mac
9.6 Functionality to handle differences between Windows and GTK
9.7 Release notes for the winapi module
10.0 Release notes for AllegroServe
11.0 Release notes for The Emacs/Lisp interface
12.0 Availability of CLX for Allegro CL
13.0 Release notes for Orblink
A ANSI Conformance in Allegro CL
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 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
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
1.0 Runtime analyzer Introduction
2.0 The three types of analysis: general information
2.1 The time analyzer
2.2 The space analyzer
2.3 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 The disassemble-profile function
6.2.2 A note on the header in results
6.2.3 Ephemeral functions in results
6.3 Examples
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
1.0 Introduction
2.0 Operators, variables, and classes in the Shell module
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 Safe and unsafe operators
4.1 Unsafe standard Lisp operations: *features*, *modules*, require/provide, external-format loading, etc.
4.2 SMP and the MOP
4.3 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
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 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
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 Certificates
11.7 CRL support
11.8 The Allegro CL SSL API
1.0 Source-file recording Introduction
1.1 Functions that implement source file recording
2.0 Redefinition warnings
2.1 Pathname comparison
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 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.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
7.1 Other messages like Xlib: extension RANDR missing
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 (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
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 Base64: an example of binary stream encapsulation
12.5 Encapsulating composing external-formats
A Built-in stream methods and their uses
A.1 The print-object built-in stream method
B peek-byte and unread-byte
1.0 Operators in the util-string module
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)
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
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
A OS Specific Library Search Path
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
1.0 Introduction
2.0 Information on changes and new stuff since the 9.0 release
3.0 Fasl files are not-compatible between versions and operating systems
3.1 All pre-9.0 Lisp compiled files must be recompiled (old fasl files will not load)
3.2 Fasl files may be incompatible in different Lisps on same hardware
4.0 Release Notes for installation
5.0 Release notes for specific platforms
5.1 Mac OS X notes
5.1.1 Allegro CL must be updated to work with Mac OS X 10.10
5.1.2 Installing Mavericks OS (Mac OS X 10.9) may break X11
5.1.3 Installing Mountain Lion OS (Mac OS X 10.8) may uninstall X11
5.2 Heap start locations
6.0 Release Notes for the base Lisp
6.1 New features in the base Lisp
6.1.1 Features added to Allegro CL 8.2 after the initial release of Allegro CL 8.2
6.2 Non-backward-compatible changes in the base Lisp
6.2.1 New features in Allegro CL 9.0
6.3 Other changes to and notes about the base Lisp
6.4 Multiprocessing and SMP release notes
6.5 Base Lisp platform-specific information
7.0 Release Notes for CLIM
8.0 Release Notes for Common Graphics and the IDE
8.1 Common Graphics and the IDE on the Mac
8.2 Significant changes in Common Graphics
8.3 Non-backward-compatible changes in Common Graphics
8.4 Other changes in Common Graphics
8.5 IDE release notes
8.5.1 Opening projects from releases prior to 9.0
8.6 Functionality to handle differences between Windows and GTK
8.7 Release notes for the winapi module
9.0 Release notes for AllegroServe
10.0 Release notes for The Emacs/Lisp interface
11.0 Availability of CLX for Allegro CL
12.0 Release notes for Orblink
A ANSI Conformance in Allegro CL
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
Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 9.0 page.
Created 2015.5.21.
| Allegro CL version 10.0 Object described on page has changed in 10.0. 9.0 version |