Page 204 | Table of Contents | Index | Page 206 |
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 |
Minor issue: Describe what a presentation type is more exactly. What is a parameterized
presentation type? Why do we want them? Why are they in a lattice? How do they relate to
CL types and CLOS classes? What exactly gets inherited? | SWM
23.2 Presentations
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.
Minor issue: Describe exactly what a presentation is. What does it mean for presentations
to be nested? | SWM
=> presentation [Protocol Class]
The protocol class that corresponds to a presentation. A subclass of output-record. If you want
to create a new class that behaves like a presentation, it should be a subclass of presentation.
Subclasses of presentation must obey the presentation protocol.
=> presentationp object [Function]
Returns true if object is a presentation, otherwise returns false.
=> standard-presentation [Class]
The output record class that represents presentations. present normally creates output records
of this class. Members of this class are mutable.
=> :object [Init Arg]
=> :type [Init Arg]
=> :view [Init Arg]
=> :single-box [Init Arg]
=> :modifier [Init Arg]
All presentation classes must handle these five initargs, which are used to specify, respectively,
the object, type, view, single-box, and modifier components of a presentation.
23.2.1 The Presentation Protocol
The following functions comprise the presentation protocol. All classes that inherit from presentation
must implement methods for these generic functions.
=> presentation-object presentation [Generic Function]
Page 204 | Table of Contents | Index | Page 206 |
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 |