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 | ||
9 | + Investigate a `robust-ABI' layout using pointers rather than simple | |
10 | inclusion. Each class's islots and vtmsgs will be found by | |
11 | following a pointer rather than just magically knowing the offsets. | |
12 | If you allocate objects dynamically, using ~CLASS->cls.initsz~ | |
13 | rather than ~sizeof(CLASS__ilayout)~ then this isolates you from | |
14 | added slots and messages at all superclasses. I expect this to | |
15 | require a separate root class, but it /might/ be possible to | |
16 | mix-and-match. | |
17 | ||
18 | ||
19 | * COMMENT Emacs cruft | |
20 | ||
21 | # Local variables: | |
22 | # mode: org | |
23 | # End: |