Concept:HashTable

Hash tables can be seen in many implementations, with the following variations.

  • Compare function : fixed or user-customizable
  • Hash function : fixed or user-customizable
  • External representation
  • API

R6RS

Bigloo

Chicken

Gauche

MIT-Scheme

  • Compare : user specified
  • Hash : user specified
  • External : ?
  • API : make-eq-hash-table?, make-eqv-hash-table?, make-equal-hash-table?, make-string-hash-table?, strong-hash-table-constructor?, weak-hash-table-constructor?, hash-table?, hash-table/put!?, hash-table/get?, hash-table/remove!?, hash-table/clear!?, hash-table/count?, hash-table->alist, hash-table/key-list?, hash-table/datum-list?, hash-table/for-each?, hash-table/lookup?

MzScheme

Scheme48

STk

SRFI-69

  • Compare : user-specified (default equal?)
  • Hash : user-specified (defaults to an appropriate hash function for the given compare function)
  • External : No
  • API : See SRFI-69 code rio