Hello,
As I said in a previous e-mail, currently SRFI-69 is broken for weak
hash tables - and I've sent a patch to fix it. However, I think there
are many other problems with current implementation of hash tables.
There are guile standard hash tables, SRFI-69 hash tables (which is
implemented on top of standard hash tables) and also R6RS hash tables
(which is implemented on top or SRFI-69 and completely lacks support
for weak keys and/or values).
I think that should be fixed and guile should have only two kinds of
hash tables: the standard guile hash table and another extended hash
table type that will be used directly by R6RS, SRFI-125 and SRFI-69.
In my opinion, it should be based on SRFI-125, which is part of R7RS
Red Edition, but also supports some other procedures to make it
compatible with R6RS and SRFI-69, supporting weakness and immutable
hash tables.
I'm already implementing the SRFI-125 based hash tables library for
myself, so, if that is accepted, I can also make a patch for guile.