Commit | Line | Data |
---|---|---|
6eaf78e4 MW |
1 | * Things to think about |
2 | ||
3 | + Reorganize output protocol so that metaclasses can override the | |
4 | layout. Split ~hook-output~ into a pair of generic functions: one | |
5 | for walking the tree, which should continue to be | |
6 | ~progn~-combination, and one for producing output, which subclasses | |
7 | can override. | |
8 | ||
684d95c7 MW |
9 | + Implement `indirect' slots and messages, which can be added (once a |
10 | class has declared support) /without/ breaking the class's ABI. | |
11 | Indirect messages can be added to an indirect `vtmsgs' structure via | |
12 | a pointer in the main vtable. Indirect slots must be added to a | |
13 | region of the `ilayout' located via an offset stored in the vtable. | |
6eaf78e4 | 14 | |
684d95c7 MW |
15 | * Add `documentation' methods for all of the myriad kinds of things |
16 | that can be defined. A useful utility will find methods on a | |
17 | generic function with an `eql'-specializer in some specified place. | |
18 | ||
19 | * Define static initializers for class layouts which obviate the need | |
20 | for imprinting. | |
6eaf78e4 MW |
21 | |
22 | * COMMENT Emacs cruft | |
23 | ||
24 | # Local variables: | |
25 | # mode: org | |
26 | # End: |