piss

entries

  1. Track-Best Library Updated
    nklein software 2013-07-08T22:48:25+00:00
  2. Inverse functions with fixed-points
    nklein software 2013-07-18T15:44:43+00:00
  3. IRC Graphs
    nklein software 2013-07-24T05:38:01+00:00
  4. The Bowling Game Kata in Functional Common Lisp
    nklein software 2013-08-14T23:47:06+00:00
  5. Lines Are Big Circles
    nklein software 2013-09-13T17:18:10+00:00
  6. I Broke It
    nklein software 2024-09-13T15:46:01+00:00
  7. Ray Tracing In One Weekend (in Lisp, and n-dimenions)
    nklein software 2024-09-27T02:37:31+00:00
  8. Ray Tracing Extra-dimensional CSG Objects
    nklein software 2024-11-30T15:43:17+00:00
  9. Quadratic Number Fields
    nklein software 2025-08-05T02:46:13+00:00
  10. Nomic Coding Game
    nklein software 2026-04-06T04:09:29+00:00

Track-Best Library Updated

nklein software

source

<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;">&#40;</span><span style="color: #b1b100;">defun</span> track-numbers <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><br /> &nbsp; <span style="color: #66cc66;">&#40;</span>track <span style="color: #66cc66;">:</span><span style="color: #555;">one</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><br /> &nbsp; <span style="color: #66cc66;">&#40;</span>track <span style="color: #66cc66;">:</span><span style="color: #555;">uno</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><br /> &nbsp; <span style="color: #66cc66;">&#40;</span>track <span style="color: #66cc66;">:</span><span style="color: #555;">two</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><br /> &nbsp; <span style="color: #66cc66;">&#40;</span>track <span style="color: #66cc66;">:</span><span style="color: #555;">dos</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</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;">&#40;</span>with-track-best <span style="color: #66cc66;">&#40;</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;">&#41;</span> <span style="color: #66cc66;">&#40;</span>track-numbers<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br /> <span style="color: #66cc66;">=&gt;</span> <span style="color: #66cc66;">&#40;</span>values <span style="color: #66cc66;">:</span><span style="color: #555;">TWO</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><br /> <br /> <span style="color: #66cc66;">&#40;</span>with-track-best <span style="color: #66cc66;">&#40;</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;">&#41;</span> <span style="color: #66cc66;">&#40;</span>track-numbers<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br /> <span style="color: #66cc66;">=&gt;</span> <span style="color: #66cc66;">&#40;</span>values <span style="color: #66cc66;">&#40;</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;">&#41;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</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;">&#40;</span>with-track-best <span style="color: #66cc66;">&#40;</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;">&#41;</span> <span style="color: #66cc66;">&#40;</span>track-numbers<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br /> <span style="color: #66cc66;">=&gt;</span> <span style="color: #66cc66;">&#40;</span>values <span style="color: #66cc66;">&#40;</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;">&#41;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br /> <br /> <span style="color: #66cc66;">&#40;</span>with-track-best <span style="color: #66cc66;">&#40;</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;">&#41;</span> <span style="color: #66cc66;">&#40;</span>track-numbers<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br /> <span style="color: #66cc66;">=&gt;</span> <span style="color: #66cc66;">&#40;</span>values <span style="color: #66cc66;">&#40;</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;">&#41;</span> <span style="color: #66cc66;">&#40;</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;">&#41;</span><span style="color: #66cc66;">&#41;</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>