Track-Best Library Updated
nklein software
<p>I updated my <a href="http://nklein.com/software/track-best-library/">track-best</a> library to allow you to keep all of the the things tied for best. The <code class="codecolorer lisp default"><span class="lisp">WITH-TRACK-BEST</span></code> macro now accepts the <code class="codecolorer lisp default"><span class="lisp"><span style="color: #66cc66;">:</span><span style="color: #555;">KEEP-TIES</span></span></code> keyword parameter.</p>
<p>Here are some examples of using the <code class="codecolorer lisp default"><span class="lisp"><span style="color: #66cc66;">:</span><span style="color: #555;">KEEP-TIES</span></span></code> option. For all of the examples, we will use the same sequence of <code class="codecolorer lisp default"><span class="lisp">TRACK</span></code> calls:</p>
<div class="codecolorer-container lisp blackboard" style="overflow: auto; white-space: nowrap; width: 435px;"><div class="lisp codecolorer"><span style="color: #66cc66;">(</span><span style="color: #b1b100;">defun</span> track-numbers <span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span><br />
<span style="color: #66cc66;">(</span>track <span style="color: #66cc66;">:</span><span style="color: #555;">one</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">)</span><br />
<span style="color: #66cc66;">(</span>track <span style="color: #66cc66;">:</span><span style="color: #555;">uno</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">)</span><br />
<span style="color: #66cc66;">(</span>track <span style="color: #66cc66;">:</span><span style="color: #555;">two</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">)</span><br />
<span style="color: #66cc66;">(</span>track <span style="color: #66cc66;">:</span><span style="color: #555;">dos</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">)</span></div></div>
<p>Here are some calls with <code class="codecolorer lisp default"><span class="lisp"><span style="color: #66cc66;">:</span><span style="color: #555;">KEEP-TIES</span></span></code> as <code class="codecolorer lisp default"><span class="lisp"><span style="color: #b1b100;">NIL</span></span></code> (the default):</p>
<div class="codecolorer-container lisp blackboard" style="overflow: auto; white-space: nowrap; width: 435px;"><div class="lisp codecolorer"><span style="color: #66cc66;">(</span>with-track-best <span style="color: #66cc66;">(</span><span style="color: #66cc66;">:</span><span style="color: #555;">keep</span> <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">:</span><span style="color: #555;">keep-ties</span> <span style="color: #b1b100;">nil</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">(</span>track-numbers<span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span><br />
<span style="color: #66cc66;">=></span> <span style="color: #66cc66;">(</span>values <span style="color: #66cc66;">:</span><span style="color: #555;">TWO</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">)</span><br />
<br />
<span style="color: #66cc66;">(</span>with-track-best <span style="color: #66cc66;">(</span><span style="color: #66cc66;">:</span><span style="color: #555;">keep</span> <span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">:</span><span style="color: #555;">keep-ties</span> <span style="color: #b1b100;">nil</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">(</span>track-numbers<span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span><br />
<span style="color: #66cc66;">=></span> <span style="color: #66cc66;">(</span>values <span style="color: #66cc66;">(</span><span style="color: #66cc66;">:</span><span style="color: #555;">TWO</span> <span style="color: #66cc66;">:</span><span style="color: #555;">DOS</span> <span style="color: #66cc66;">:</span><span style="color: #555;">ONE</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">(</span><span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span></div></div>
<p>Here are some calls with <code class="codecolorer lisp default"><span class="lisp"><span style="color: #66cc66;">:</span><span style="color: #555;">KEEP-TIES</span></span></code> as <code class="codecolorer lisp default"><span class="lisp">T</span></code>:</p>
<div class="codecolorer-container lisp blackboard" style="overflow: auto; white-space: nowrap; width: 435px;"><div class="lisp codecolorer"><span style="color: #66cc66;">(</span>with-track-best <span style="color: #66cc66;">(</span><span style="color: #66cc66;">:</span><span style="color: #555;">keep</span> <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">:</span><span style="color: #555;">keep-ties</span> t<span style="color: #66cc66;">)</span> <span style="color: #66cc66;">(</span>track-numbers<span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span><br />
<span style="color: #66cc66;">=></span> <span style="color: #66cc66;">(</span>values <span style="color: #66cc66;">(</span><span style="color: #66cc66;">:</span><span style="color: #555;">TWO</span> <span style="color: #66cc66;">:</span><span style="color: #555;">DOS</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">(</span><span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span><br />
<br />
<span style="color: #66cc66;">(</span>with-track-best <span style="color: #66cc66;">(</span><span style="color: #66cc66;">:</span><span style="color: #555;">keep</span> <span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">:</span><span style="color: #555;">keep-ties</span> t<span style="color: #66cc66;">)</span> <span style="color: #66cc66;">(</span>track-numbers<span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span><br />
<span style="color: #66cc66;">=></span> <span style="color: #66cc66;">(</span>values <span style="color: #66cc66;">(</span><span style="color: #66cc66;">:</span><span style="color: #555;">TWO</span> <span style="color: #66cc66;">:</span><span style="color: #555;">DOS</span> <span style="color: #66cc66;">:</span><span style="color: #555;">ONE</span> <span style="color: #66cc66;">:</span><span style="color: #555;">UNO</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">(</span><span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">1</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span></div></div><p>The post <a href="http://nklein.com/2013/07/track-best-library-updated/">Track-Best Library Updated</a> first appeared on <a href="http://nklein.com">nklein software</a>.</p>