This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Hashtables in guile.


Jim Blandy <jimb@red-bean.com> writes:

 > The current implementation has the following nice properties:
 > a) it's an ordinary Scheme data structure, just a vector of lists
 > b) you can choose your equality predicate
 > c) you can choose weak or double-weak references
 > 
 > It would be nice to have something which added:
 > d) tables are automatically resized
 > e) equality predicate is stored with the table, so you can just use
 >    generic hash-ref/hash-set!/... functions
 >
 > One might want to sacrifice a) and define a new opaque type to provide
 > better type-checking, and ensure consistency, but you'd need to be
 > sure to provide a full suite of accessors, so the opacity doesn't get
 > in people's way too much.
 > 
 > Volunteers are welcome.  Go dust off that copy of Knuth and post your
 > best hash table implementation!

No need to dust off Knuth.  Just snarf the code from STk, which
gives d & e), makes hash-tables opaque &, IMHO, allows sufficient
access to them.

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