[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Issue: HASH-TABLE-ACCESS (version 1)



Issue:		HASH-TABLE-ACCESS
References:	hash-tables (Chapter 21 of CLtL)
Category:	ADDITION
Edit History:	13-Sept-88, version 1 by Walter van Roggen

Problem Description:

  There are many characteristics of hash-tables which are specified upon
  creation but are not accessible afterwards.

Proposal: (HASH-TABLE-ACCESS:PROVIDE)

  Add the following functions to the language:

  HASH-TABLE-REHASH-SIZE hash-table

    Returns the current rehash size of a hash table.

  HASH-TABLE-REHASH-THRESHOLD hash-table

    Returns the current rehash threshold of a hash table.

  HASH-TABLE-SIZE hash-table

    Returns the current size of a hash table.

  HASH-TABLE-TEST hash-table

    Returns the test used for comparing keys in the hash table.
    By default the value will be either EQL or #'EQL.


Current Practice:

  VAX LISP implements the proposal.

Cost to Implementors:

  Most of these should be trivial to implement, since the information
  must be present for nearly all types.

Cost to Users:

  None.  This is an upward-compatible extension.

Cost of Non-Adoption:

  The benefits would not be available in a portable fashion.

Benefits:

  Programs would be able to access useful information otherwise hidden.
  For example, it would allow programs to gain statistics about hash
  table usage that might enable better tuning.

Discussion:

  None of these are required to be SETF'able, though that might be
  a reasonable implementation-dependent extension.

  This first appeared in ">GLS>clarifications.text" of 12/06/85.