Darcs and Haskell in practical use
Hi all, Some of you may have heard about the darcs distributed revision control system (http://abridgegame.org/darcs/), which is written in Haskell. Recently Linus Torvalds, the creator of Linux, had decided to abandon the BitKeeper revision control system in favor of using an open-source system to manage his kernel source tree. Among the contenders are monotone, GNU Arch, svk, and darcs.
From reading the postings in the Linux kernel mailing list [1], I think darcs is pretty well regarded for its capabilities. After all, complex symbolic manipulations is one of Haskell's strong points. Some people complained that darcs is relatively difficult to build, but that is not a big problem either. The real show-stopper turns out to be performance: the Linux kernel tree is huge, and the intense development activities put a lot of stress on the revision control system, so the (slow) execution speed and (large) memory footprint of darcs makes it unsuitable for such purposes.
Needless to say, having darcs host Linus' kernel tree would be an excellent exposure for our favorite language. BitKeeper went from obscure to well-known in a few years solely because of its use in the Linux kernel development effort. Maybe someone in the list would be interested in helping David Roundy out in tuning darcs? Regards, -- Chuan-kai Lin http://www.cs.pdx.edu/~cklin/
On 2005-04-10, Chuan-kai Lin <cklin@cs.pdx.edu> wrote:
Maybe someone in the list would be interested in helping David Roundy out in tuning darcs?
Tuning is one thing, and certainly valuable, but the real problem is that it uses certain algorithms that fundamentally don't scale, primarily in conflict handling during merging or patch commutation. Now, with a small group of people, these are pretty easy to work around. For something like the group of contributors to the Linux Kernel, this is not the case. Dave _is_ working on the issue, and would undoubtedly welcome any insight people have on it. But it's going to require a broader skillset than "haskell performance tweaking". -- Aaron Denney -><-
participants (2)
-
Aaron Denney -
Chuan-kai Lin