I&#39;m staring at do-find-string-all&#39;s implementation, and right before the string-matching logic, there&#39;s a mysterious comment &quot;Knuth Bendix&quot; in there.  I&#39;m staring at the code some more, and it looks more like KMP (Knuth-Morris-Pratt) to me.<div>

<br></div><div>(I have no idea what the Knuth-Bendix algorithm looks like, but I&#39;m pretty sure it has little to do with string matching: it&#39;s supposed to be an algorithm for solving a system of equations...)<div>
<div>
<br></div><div>Assuming that it is KMP, is there a reason why we&#39;re not using Boyer-Moore here instead?  My understanding was BM was faster than KMP for common situations.</div></div></div>