[Haskell-cafe] ANN: infinity 0.3

Austin Seipp mad.one at gmail.com
Wed Nov 7 15:49:29 EST 2007


After quite a bit of work and other such stuff, I pretty much totally
rewrote my previous IRC bot and instead updated it from v0.1 to v0.3.
You may wonder where 0.2 went; so do I.

This is basically an entire rewrite (I threw the first one out.) Now
all code can be dynamically hot-swapped via the techniques described
in Don's Yi paper. This can happen across multiple servers and as
servers are taken down and the like. All code swaps near flawlessly,
and even after the initial mechanism was working, the bot ran for
quite a while with a good amount of success.

I didn't plan to release it in this state, however, with it's
dependencies on hs-plugins (which is ghc 6.6 only as of right now,)
and my recent installation of GHC 6.8.1, I can't work on it because
apparently although both versions appear to be installed, it seems as
if ghc-6.6.1 is picking up configuration and package info from 6.8.1
(and therefore ghc-6.6.1 tells me it can't find packages like irc and
plugins, although 'ghc-pkg-6.6.1 list' obviously shows they exist.) I
also can't work on this on my OpenBSD box which only has 6.6.1, due to
some arcane error with hs-plugins (can't find the __errno symbol, I
believe.) So because of that, development is temporarily stalled and
if you want to test it, you'll need 6.6.1 installed and working
properly.
I don't think this would have been *too* far from the actual, official
release though. At this point I only planned minor tweaks and its
release was pretty inevitable anyway.

You can get a tarball from hackage:

http://hackage.haskell.org/cgi-bin/hackage-scripts/package/infinity-0.3

The darcs repository is here:

http://code.haskell.org/infinity/src/

Personally, it was real fun to work on this thing. I wrote almost all
the base code for plugins, and for the Net and Monitor to use before
the bot ever made its first connection, and a lot of it seemed to just
piece together really easily. The code is undeniably cleaner and more
extensible than the previous 0.1 code, but I still feel by most
standards it's somewhat cluttered, so if anybody here would like to
give any comments just from reading the source, that'd be pretty
awesome.

Until I can continue to work on it (whether hs-plugins is available
for 6.8.1 or I get another box with 6.6.1 installed,) this will be
considered the stable version by my definition, and all patches are of
course welcome. darcs send austin at youareinferior dot net. Criticism
is advised.

-- 
- Austin


More information about the Haskell-Cafe mailing list