[R6RS] Hash table terminology consistency
William D Clinger
will at ccs.neu.edu
Mon Sep 4 09:02:14 EDT 2006
Two comments on the hash tables chapter:
The first paragraph says "...the equivalence predicate,
which is a procedure that accepts two keys and returns
#t if they are equivalent." The two problems with that
are that it doesn't say the equivalence predicate must
return #f if they aren't, and it doesn't allow the
equivalence predicate to return a true value other than
#t. It would be better to say "...the equivalence
predicate, which is a procedure that returns true if
and only if they are equivalent." (Note that "true" is
a technical term in the R6RS, meaning any value other
than #f; see section 9.1.)
The description of make-hash-table says the equiv?
predicate must return a boolean. I don't see the
point of that restriction. If we're going to restrict
the predicate to return a boolean, then its description
in the first paragraph should also require it to return
a boolean.
Will
More information about the R6RS
mailing list