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

Issue: HASH-TABLE-ACCESS (version 2)



 
Issue: HASH-TABLE-ACCESS
References:	hash-tables (Chapter 21 of CLtL)
Category:	ADDITION
Edit History: 13-Sept-88, version 1 by Walter van Roggen
              13-Oct-88, version 2 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 EQL.
 
 
Current Practice:
 
  VAX LISP and Lucid 3.0 implement 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 some might be
  reasonable implementation-dependent extensions.  Including such
  modification abilities might constrain some implementations unduly.
 
  This first appeared in ">GLS>clarifications.text" of 12/06/85.