7:03:55beachIt looks like aun abandoned us some 6 months ago, so the bignum implementation is up for grabs.
7:12:39no-defun-allowedCan there be a reasonable equality predicate (call it E) for which (eq A B) does not imply (E A B) for some A, B? (Or to avoid the implication arrow, for which there exists A, B such that (and (eq A B) (not (E A B)))?)
7:23:20beachI can't see how that would be the case.
7:23:41no-defun-allowedI can't either, which is why I asked.
7:24:15beachOne might exist, but it wouldn't be "reasonable" :)
7:27:03no-defun-allowedI ask as Luckless and the original NonBlockingHashMap both test EQ before using the user-provided equality predicate; would it be fine to assume the previously mentioned implication holds?
7:27:43beachIf A and B are EQ then they must be E for all equality predicates E.
7:28:48beachSo, unless the user supplied something other than an equality predicate, no further test should be required if EQ returns true.
7:29:26karloszif (eq A B) and (E A B) then (E A A) => T by the reflexive property of equivalence relations
7:30:46karloszwell you'd probably want to test eq first regardless for efficiency
7:31:33no-defun-allowedYes, that is what I plan to do, but I want to make sure that it wouldn't trip a user up. Not that the behaviour of non-standard :test functions is specified anyway.