CLIM keeps track of the association between a visual representation of an object and the object itself. CLIM maintains this association in a data structure called a presentation . A presentation embodies three things:
The underlying application object
Its presentation type
Its visual representation
In other words, a presentation is a special kind of output record that remembers not only output, but the object associated with the output and the semantic type associated with that object.
A presentation type can be thought of as a CLOS class that has some additional functionality pertaining to its roles in the user interface of an application. In defining a presentation type, the application programmer defines all of the user interface components of the entity:
Its displayed representation, textual or graphical
Textual representation, for user input via the keyboard
Pointer sensitivity, for user input via the pointer
In other words, the application programmer describes in one place all the information about an object necessary to display it to the user and interact with the user for object input.