Next: , Up: srfi hash-tables spec   [Index]


2.29.4.1 Names defined in this SRFI

Names defined in this SRFI:

Type constructors and predicate
make-hash-table         hash-table?
alist->hash-table
Reflective queries
hash-table-equivalence-function
hash-table-hash-function
Dealing with single elements
hash-table-ref          hash-table-ref/default
hash-table-set!         hash-table-delete!
hash-table-exists?      hash-table-update!
hash-table-update!/default
Dealing with the whole contents
hash-table-size         hash-table-keys
hash-table-values       hash-table-walk
hash-table-fold         hash-table->alist
hash-table-copy         hash-table-merge!
Hashing
hash                    hash-by-identity
string-hash             string-ci-hash

An implementation that does not provide:

hash-table-ref          hash-table-set!
hash-table-delete!      hash-table-update!
hash-table-exists?      hash-table-size

in amortised constant time (when a good hash function is used), or fails to provide good hash function definitions for:

hash                    string-hash
string-ci-hash          hash-by-identity

does not conform to this SRFI.

Hash table implementations are allowed to rely on the fact that the hash value of a key in hash table does not change. In most cases, modifying a key in–place after it has been inserted into the hash table will violate this constraint and thus leads to unspecified behaviour.