The Combinatorrent package

[Tags: bsd3, program]

Combinatorrent provides a BitTorrent client, based on STM for concurrency. This is an early preview release which is capable of downloading files from various torrent trackers, but have not yet demonstrated to be correct in all aspects. It is expected that the package currently contains numerous and even grave bugs. Patches to fix any problem are welcome!

[Skip to ReadMe]


Versions0.2.0, 0.2.1, 0.2.2, 0.3.0, 0.3.1, 0.3.2
Change logNone available
Dependenciesarray (>=0.3), base (>=3.0 && <=5.0), bytestring, cereal, containers, deepseq, directory, filepath, hopenssl, hslogger, HTTP, HUnit, mtl, network, parsec, pretty, PSQueue, QuickCheck (>=2), random, random-shuffle, stm, test-framework, test-framework-hunit, test-framework-quickcheck2, time [details]
Copyright(c) 2009,2010 Jesper Louis Andersen
AuthorJesper Louis Andersen
Source repositoryhead: git clone git:// -b master
UploadedMon Apr 12 21:12:38 UTC 2010 by JesperLouisAndersen
Downloads1399 total (19 in last 30 days)
0 []
StatusDocs not available [build log]
All reported builds failed as of 2015-11-14 [all 5 reports]


debugEnable debug supportDisabledAutomatic
threadscopeEnable the eventlog necessary for ThreadScopeDisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainers' corner

For package maintainers and hackage trustees

Readme for Combinatorrent-0.2.1

Combinatorrent - a bittorrent client.


This is a bittorrent client. I am the introduction document and I need to be written by some generous soul!


Here is what I do to install haskell torrrent locally on my machine:

cabal install --prefix=$HOME --user

Since we are using the magnificient cabal, this is enough to install haskell torrent in our $HOME/bin directory.


Combinatorrent can currently only do one very simple thing. If you call it with

Combinatorrent foo.torrent

then it will begin downloading the file in foo.torrent to the current directory via the Bittorrent protocol.

Protocol support

Currently haskell-torrent supports the following BEPs (See the BEP Process document for an explanation of these)

Combinatorrent is not supporting these BEPs, but strives to do so one day:


For debugging, jlouis tends to use the following:

make conf build test

This builds Combinatorrent with the Debug flag set and also builds the software with profiling by default so it is easy to hunt down performance regressions. It also runs the internal test-suite for various values. There are a couple of interesting targets in the top-level Makefile

Reading material for hacking Combinatorrent:

Source code Hierarchy

vim: filetype=none tw=76 expandtab