John Cowan (on a private e-mail, probably by mistake) answered me that the beginning of the Specification says "It is an error to pass two hash tables that have different comparators or equality predicates to any of the procedures of this SRFI."

But there are many test cases of `hash-table-union!` and `hash-table-difference!` calling these procedures with hash tables with different equality predicates.

Shouldn't standard implementation type-check the hash-tables to make sure their equality predicates are `eq?`? I know the `hash-table-equivalence-function` is deprecated, but `hashtable-equivalence-function` in R6RS is not and all implementations must keep this information somewhere anyway to conform with the specification. Also, the test cases must be fixed as well to only call these procedures with hash tables that have the same equality predicates.

Regards,
Jéssica

Em dom, 13 de jan de 2019 às 01:30, Arthur A. Gleckler <xxxxxx@speechcode.com> escreveu:
On Sat, Jan 5, 2019 at 1:05 PM Jéssica Milaré <xxxxxx@gmail.com> wrote:
While implementing SRFI-125 procedures for Guile, I stumbled across a few incompatibilities between the reference implementation and the SRFI-125 specification.

Thank you.  I've just published a new version of the code for SRFI 125 based on a pull request ("Fixed bugs reported by Jéssica Milaré.") from Will Clinger, the original author of the implementation.