> > From there, there are two ways to ensure they don't interfere with > symbols that are spelled the same: > > - Make the lookup know what we're looking for and use the symbol's > value to determine whether to return the object or not. > - Create a new symbol table for keywords specifically. > > My preference is the second option: it's cleaner and less confusing, > and we can even experiment with a differently sized "keyword table". > This table can perhaps also be assumed to always have only weak > references. > > To guarantee backwards compatibility, we could check that an interned > symbol starts with a \x00 and intern it into the keyword table. > A lookup would then also need to ignore the \x00 at the start when > hashing and searching. Once everything is using unprefixed keywords > we can drop the special-casing for the initial \x00 value. >
I'm slightly frightened by all the plans for various overhauls and want to point out that once 5.0 is released, such changes will require a Change Request (which is a good thing, as I think we are going slightly overboard by trying to fix everything, regardless of criticality). felix _______________________________________________ Chicken-hackers mailing list Chicken-hackers@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-hackers