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

Issue: EQUAL-STRUCTURE (Version 5)

re: What is current practice in this area? What does EQUALP do in current
    implementations on hash tables?

Lucid does something slightly wrong -- it descends component-wise using
an arbitrary indexing into each table.  Thus it will be guaranteed to
get the wrong answer when the two tables contain the same data, but
were built up in differing orders such that the collision chains
are different [for any reasonable hashing implementation, you can
find an example of this].

It would be about a 5-minute job to fix it (i.e. to do the coding
for a fix, and minimal checkout).  Of course this would require a QA
step for any commercial implementation, so that is the painful part.

I suspect the reason we have never fixed it is that:
  -- So far, no customer/user has discovered the anomaly; or at least,
      no one is aware of a bug in their program due to this anomaly.
  -- Neither CLtL, nor Guy's "Clarifications" of 6-Dec-85, nor current
     Cl-cleanup discussions, have brought a sense of inevitability to
     the issue yet.

In short, I don't recommend Lucid's current practice or experience as
having any informational value here.

-- JonL --