lib/keyword.c (kw_parseempty): Use correct variable scanning `kwval' list.
[sod] / NOTES
diff --git a/NOTES b/NOTES
index c22de92..07e1180 100644 (file)
--- a/NOTES
+++ b/NOTES
@@ -6,15 +6,18 @@
     ~progn~-combination, and one for producing output, which subclasses
     can override.
 
-  + Investigate a `robust-ABI' layout using pointers rather than simple
-    inclusion.  Each class's islots and vtmsgs will be found by
-    following a pointer rather than just magically knowing the offsets.
-    If you allocate objects dynamically, using ~CLASS->cls.initsz~
-    rather than ~sizeof(CLASS__ilayout)~ then this isolates you from
-    added slots and messages at all superclasses.  I expect this to
-    require a separate root class, but it /might/ be possible to
-    mix-and-match.
+  + Implement `indirect' slots and messages, which can be added (once a
+    class has declared support) /without/ breaking the class's ABI.
+    Indirect messages can be added to an indirect `vtmsgs' structure via
+    a pointer in the main vtable.  Indirect slots must be added to a
+    region of the `ilayout' located via an offset stored in the vtable.
 
+  * Add `documentation' methods for all of the myriad kinds of things
+    that can be defined.  A useful utility will find methods on a
+    generic function with an `eql'-specializer in some specified place.
+
+  * Define static initializers for class layouts which obviate the need
+    for imprinting.
 
 * COMMENT Emacs cruft