You're right on both counts. Revised patch attached. I have rewritten binary-vector= to be simpler and easier to understand (no letrec), added more tests, and moved a definition in the test file to eliminate a warning from Chibi.On Wed, Jul 4, 2018 at 7:15 PM, Jim Rees <xxxxxx@gmail.com> wrote:1) you meant srf-133, not srf-113...2) You also need to remove the (or (eq? vector-a vector-b) ...) from the top of that function.diff --git a/vectors/vectors-impl.scm b/vectors/vectors-impl.scmindex 9b798e0..0be2c0c 100644--- a/vectors/vectors-impl.scm+++ b/vectors/vectors-impl.scm@@ -736,7 +736,6 @@(and (binary-vector= elt=? vec1 (car vec2+))(loop vec2+)))))))))(define (binary-vector= elt=? vector-a vector-b)- (or (eq? vector-a vector-b) ;+++(let ((length-a (vector-length vector-a))(length-b (vector-length vector-b)))(letrec ((loop (lambda (i)@@ -746,11 +745,10 @@(vector-ref vector-b i)i)))))(test (lambda (elt-a elt-b i)- (and (or (eq? elt-a elt-b) ;+++- (elt=? elt-a elt-b))+ (and (elt=? elt-a elt-b)(loop (+ i 1))))))(and (= length-a length-b)- (loop 0))))))+ (loop 0)))))On Wed, Jul 4, 2018 at 7:09 PM John Cowan <xxxxxx@ccil.org> wrote:LGTM. Here's the patch for srfi-113-impl.scmdiff --git a/vectors/vectors-impl.scm b/vectors/vectors-impl.scmindex 9b798e0..d18ac86 100644--- a/vectors/vectors-impl.scm+++ b/vectors/vectors-impl.scm@@ -745,10 +745,8 @@(test (vector-ref vector-a i)(vector-ref vector-b i)i)))))- (test (lambda (elt-a elt-b i)- (and (or (eq? elt-a elt-b) ;+++- (elt=? elt-a elt-b))- (loop (+ i 1))))))+ (test (lambda (elt-a elt-b i) (elt=? elt-a elt-b))+ (loop (+ i 1))))(and (= length-a length-b)(loop 0))))))On Wed, Jul 4, 2018 at 6:42 PM, Arthur A. Gleckler <xxxxxx@speechcode.com> wrote:Thanks for catching this, Jim.I've attached a patch to add an erratum to the document. John, please review that. Note that I removed the next sentence as well, since it depends on the one you suggested removing.I'll leave it to you to update the implementation.