> 
> 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

Reply via email to