James Cook | 20 May 00:41 2013

ANN: lambdabot-4.3

As discussed a couple months ago, I have assumed maintainership of Lambdabot and a a new release has been
brewing for a while.  It has now been Hackaged as lambdabot-4.3.  

There are quite a few changes in this release, mainly internal.  Plugins written for older versions will
require some fairly straightforward rewriting - the plugin interface is now based on a record rather than
a type class, and makes use of some simple monad transformers to stabilize the API a bit in the face of future
changes.  There are many things I'd like to do to continue modernizing it, the most significant of which
being that I'd like to overhaul the state storage system and break it down into smaller packages.

Therefore, plugin-writers should consider this a bit of a stepping-stone release - in the not too distant
future, another release will probably break the plugin API again.  If you have open-source plugins,
please let me know and I'll feed you patches to keep up with any changes coming down the pipeline.

The most significant changes from the user's perspective are probably the expanded command line
interface (try --help) and the changes to the eval plugin.  Eval now uses Safe Haskell, and accepts a much
wider array of user-supplied code - the " <at> let" command now accepts module imports, type declarations,
class declarations, and instances, and will add clauses to existing function definitions when applicable.

I apologize in advance that the documentation is still mostly in a state of non-existence.  If anyone runs
into issues, please report them to me.  I can be reached through the following channels:

- github "issues"[1]
- e-mail, at this address
- #haskell (I'm "mokus" there) - I'm not often present, but pretty much always connected and will see and
eventually respond to PRIVMSGs.

[1] https://github.com/mokus0/lambdabot/issues