1.1 About Liquid Common Lisp

1.1.1 Advanced tools and features

This guide discusses the following advanced topics:

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.

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.

You can use the functionrun-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.

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.

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.

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.

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.

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