Page 4 Table of Contents Index Page 6
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E





Chapter 2

Conventions

This chapter describes the conventions used in this specification and in the CLIM software itself.

2.1 Audience, Goals, and Purpose

This document, the CLIM Release 2 Specification, is intended for vendors. While it does
define the Application Programmer's Interface (API), that is, the functionality that a cus-
tomer/consumer would use to write an application, it also defines the names and functionality
of some internal parts of CLIM. These "portals" in implementation space allow one vendor to
extend, for example, the output record mechanism and have it work with another vendor's im-
plementation of incremental redisplay. We have attempted to carefully identify the appropriate
"portals" so that the API can be implemented efficiently, but we have also tried not to over-
constrain the specification so that it restricts creativity of implementation or the possibility for
extension. This also affects the more sophisticated application writers who want to go a little
below the published API but still want portable applications. This document defines which
functionality is part of the advertised API, and which is part of the internal protocols.
In this document, we refer to three different audiences. A CLIM user is a person who uses an
application program that was written using CLIM. A CLIM programmer is a person who writes
application programs using CLIM. A CLIM implementor is a programmer who implements CLIM
or extends it in some non-trivial way.

2.2 Package Structure

CLIM defines a variety of packages in order to provide its functionality. In general, no symbols
except for the symbols in this specification should be added to those packages.
The clim-lisp package is intended to implement as much of the draft X3J13 Common Lisp


Page 4 Table of Contents Index Page 6
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E