diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index 211d5d71c2..78a9847b4e 100644 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -615,18 +615,24 @@ PRIVATE> : harvest ( seq -- newseq ) [ empty? not ] filter ; -: mismatch ( seq1 seq2 -- i ) - [ min-length ] 2keep + + +: mismatch ( seq1 seq2 -- i ) + [ min-length ] 2keep mismatch-unsafe ; inline + M: sequence <=> [ mismatch ] 2keep pick [ 2nth-unsafe <=> ] [ [ length ] compare nip ] if ; : sequence= ( seq1 seq2 -- ? ) - 2dup [ length ] same? - [ mismatch not ] [ 2drop f ] if ; inline + 2dup [ length ] bi@ dupd = + [ -rot mismatch-unsafe not ] [ 3drop f ] if ; inline ERROR: assert-sequence got expected ;