SRFI 125 draft 8 comments
Sudarshan S Chawathe 07 May 2016 21:13 UTC
Here are some comments on Draft #8 (2016-05-06) of SRFI 125. They are
all quite minor.
* Constructors section, 2nd para: I believe the intent is to
indicate that an implementation may use a hash function different
from the one specified (within the comparator or separately in the
deprecated form) when the equality predicate provided (also within
the comparator or separately in the deprecated form) is a
refinement of equal?. If this is correct, then the wording
"implementation-dependent hash function instead of the
equality-predicate" seems confusing to me.
* hash-table: Is something like the following an error? If not, which
value is associated with 1?
(hash-table (make-eqv-comparator) 1 10 1 20)
* hash-table-set!: Is the order in which the hash table is
repeatedly mutated restricted? In particular, what is the
behavior when some key is repeated in the arguments (or is that
disallowed)? The convention used for alist->hash-table would
suggest a result consistent with a right-to-left repeated
mutation, but I'm unsure.
* hash-table-pop!: The sample implementation expects an additional
(failure) argument. Also, shouldn't there be a performance
guarantee here similar to those in earlier procedures?
* hash-table-map: The sample implementation expects an additional
(merger) argument.
* Implementation section: typo "any any"
* (somewhat tangential and very minor) The "Last modified" tag at the
very end of the Web page seems like it doesn't get updated (still
shows Aug 2015). It just gave me a fright when I got to it,
thinking I may have wasted time reading a long obsolete version in
detail.
Regards,
-chaw