<a href="http://unknownlamer.org/darcsweb/browse?r=ucw-core_clinton;a=summary">ucw-core branch</a></h4>
<p class="first">I maintain a personal branch of ucw-core with various work in progress
-patches that are intended to go into upstream. My primary task is
-filling in the ucw-standard library which was removed in the ucw-core
-fork.</p>
+patches that are intended to go upstream. My primary task is filling
+in the ucw-standard library which was removed in the ucw-core fork.</p>
<p><a href="http://retes.hu/~mega/git/?p=clon.git;a=summary">Clon</a> is a nice library for scheduling tasks within a Lisp image, but
it used the SBCL timer extension. I wanted to run something using Clon
-on <a href="http://trac.clozure.com/openmcl">Clozure CL</a> and so I looked at the SBCL and found that, after a bit
-of fairly straightforward editing, it was possible to write a portable
-version for any compiler supporting <a href="http://common-lisp.net/project/bordeaux-threads/">Bordeaux Threads</a>. The SBCL timers
-internally use <code>sb-unix:setittimer</code>; Rather than using <a href="http://common-lisp.net/project/osicat/">Osicat</a> to emulate
-this I chose to rework the scheduling loop to run in a dedicated
-thread that sleeps on a condition variable with a timeout. This seems
-<em>cleaner</em> to me than using POSIX lib calls, but requires a threaded Lisp
-to use.</p>
-
-<p><a href="http://release.unknownlamer.org/trivial-timers/">Releases are available</a> with the usual <a href="http://unknownlamer.org/darcsweb/browse?r=trivial-timers;a=summary">darcs repo</a>. Currently there is a
+on <a href="http://trac.clozure.com/openmcl">Clozure CL</a> and so I looked at the SBCL source and found that, after
+a bit of fairly straightforward editing, it was possible to write a
+portable version for any compiler supporting <a href="http://common-lisp.net/project/bordeaux-threads/">Bordeaux Threads</a>. The
+SBCL timers internally use <code>sb-unix:setittimer</code>; Rather than using
+<a href="http://common-lisp.net/project/osicat/">Osicat</a> to emulate this I chose to rework the scheduling loop to run in
+a dedicated thread that sleeps on a condition variable with a
+timeout. This seems <em>cleaner</em> to me than using POSIX lib calls, but
+requires a threaded Lisp.</p>
+
+<p><a href="http://releases.unknownlamer.org/trivial-timers/">Releases are available</a> with the usual <a href="http://unknownlamer.org/darcsweb/browse?r=trivial-timers;a=summary">darcs repo</a>. Currently there is a
native SBCL implementation and a portable implementation relying upon
<a href="http://common-lisp.net/project/bordeaux-threads/">Bordeaux Threads</a>. Patches to export other Lisp implementations' timer
interface are welcome.</p>
written on top of Bobot++; if I find time I shall attempt to post the
source.</p>
-<p>There is now a <a href="http://unknownlamer.org/darcsweb/browse?r=bobot++;a=summary">darcs repo</a> available with a few minor changes. I am
+<p>There is now a <a href="http://unknownlamer.org/darcsweb/browse?r=bobot%2B%2B;a=summary">darcs repo</a> available with a few minor changes. I am
sporadically working to make the internals of the bot fully threadsafe
so that multithreaded Scheme extensions don't run into issues. I may
potentially clean up the Scheme interface as well (as it was clearly
</a>
</p>
-<p class="cke-footer">unknownlamer: you cannot both me in the state of sin and grace
- simultaneously
-Tony: sure you can, sex while figure skating is pretty sinfully
- graceful
+<p class="cke-footer">"Karen loved animals. Unfortunately the cheetahs betrayed her trust,"
+Libot said.
</p>
<p class="cke-timestamp">Last Modified:
December 11, 2008</p>