Hashtables in guile.

Harvey J. Stein (hjstein@bfr.co.il)
13 Aug 1998 19:02:30 +0300

How are hash tables supposed to work in guile? How good are they?

In particular:
1. How does one make a hash table? The manual talks about things
like hashq-ref, hashq-set! & hashq-remove!, but never says how to
make a hash table. This was surprising. Is it just a vector or
is it a separate type?
2. Do they grow dynamically or does their size remain fixed? If they
remain of fixed size, are there any particular sizes that are most
efficient for the default hashing fcns? Also, if they remain of
fixed size, why?!?! I've always found the STk hash tables (based
on the TCL code) that grow dynamically to be extremely efficient &
convenient to use.
3. What about mapping over a hash table? How can I get all the key
value pairs out of the hash table? Is the hash table a vector of
alists? It doesn't say anywhere, so there's no documented
mechanism/fixed API for doing such things.

-- 
Harvey J. Stein
BFM Financial Research
hjstein@bfr.co.il