[Haskell-cafe] ANN: HaskellTorrent v0.0

Jesper Louis Andersen jesper.louis.andersen at gmail.com
Sat Feb 20 12:31:37 EST 2010


I am happy to announce HaskellTorrent v0.0, a concurrent bittorrent client.

The current release is a rather early preview release: it can download torrents
and seed them, but currently there are many optimizations and tweaks needed
before it is ready for day-to-day use. In particular, we are not yet fully
compliant with the bittorrent specification and need proper clients to connect
to in order to operate. Basically, you install the cabal package and then run

HaskellTorrent foo.torrent

and it will then download the contents of the torrent to the current directory.

We would like to hear about any kind of problems you might encounter. Send them
to jesper.louis.andersen at gmail.com for now. We have only tested the software on
GHC 6.10.4 and 6.12.1, mostly on Unix platforms. It is known to work on
Debian/Unstable with GHC610 and GHC612.

If you want to hack code, get in touch with me. There are something
for any level of skill to do.


HaskellTorrent is using the CML library to get concurrency. It easily runs some
200-300 processes when it operates and its process model is somewhat loosely
inspired by the model of Erlang.

Looking forward, the next goal is to optimize concurrency, memory
usage and CPU usage in the client. It currently hogs resources due to
naive data structure choices and some expensive correctness


Links of interest:



This release was brought to you by:

Alex Mason:
    A lot of Wireprotocol and BCode serialization work through the use
of the cereal package.

    GHC 6.12 support.
    Support for multi-file torrents.

In addition, patches were contributed by:
  Jesper Louis Andersen
  John Gunderman
  Thomas Christensen


More information about the Haskell-Cafe mailing list