1.1 About Liquid Common Lisp
1.1.1 Advanced tools and features
This guide discusses the following advanced topics:- customizing the Lisp environment
- Liquid Common Lisp provides methods for tailoring the Lisp environment to suit your own preferences and needs. You can specify functions to be invoked and files to be loaded so that your customized environment is established automatically whenever you start up Lisp. See Chapter 2, "Customizing the Lisp Environment" for more information.
- The Compiler recognizes many types of declarations, type-specific operations, and optimized constructs to produce fast, efficient code or safe, robust code. By becoming more familiar with the different settings that are available, you can make the Compiler work harder for you. See Chapter 3, "Optimizing Lisp Programs" for more information.
- communicating with non-Lisp programs
- Often programmers have access to a large body of existing files and libraries that they would like to use with Lisp programs. The Foreign Function Interface is a mechanism that lets Lisp communicate with programs written in other languages, such as C, and vice versa. See Chapter 4, "Working Beyond the Lisp Environment" for more information.
- communicating with the operating system
- You can use the function
run-program
to establish communication between Lisp and the standard input, standard output, and standard error streams of operating system processes. See Chapter 4, "Working Beyond the Lisp Environment" for more information.
- using multiple processes within Lisp
- One way to manage a large problem is to break it up into smaller pieces. The Multitasking Facility provides a means of creating multiple, independent processes that share the same address space inside of Lisp. For example, components of the Window Tool Kit have been implemented under the Multitasking Facility in Liquid Common Lisp. See Chapter 5, "The Multitasking Facility" for more information.
- recording source file information
- Large applications are usually written by many people and consist of many different files. It is useful to keep track of where functions and variables are defined to aid in development and debugging. The Source File Recording Facility provides this functionality in Liquid Common Lisp. See Chapter 6, "Miscellaneous Programming Features" for more information.
- You can use constructs from the Advice Facility to alter function definitions temporarily or to make a function "smarter" when it encounters certain well-defined situations. See Chapter 6, "Miscellaneous Programming Features" for more information.
- allocating and deallocating Lisp objects
- You might need to temporarily allocate objects that are large, such as large arrays, or that are expensive to create, such as string streams. The Resource Facility lets you make, allocate, use, and deallocate such objects while avoiding the normal overhead of creating and managing them. See Chapter 6, "Miscellaneous Programming Features" for more information.
- improving the speed and efficiency of input and output operations
- Certain input and output operations have been extended to work for buffers that are in use and to produce faster, more efficient code on limited stream types. See Chapter 7, "Additional Extensions to Common Lisp" for more information.
- extending the capabilities of Common Lisp
- The process of developing Liquid Common Lisp uncovered the need for some lower-level operators and for certain control constructs that were not available in Common Lisp. These extensions are included in the implementation. See Chapter 7, "Additional Extensions to Common Lisp" for more information.
The Advanced User's Guide - 9 SEP 1996 Generated with Harlequin WebMaker