
Ian, I completely agree with you. I love the darcs vcs model, too. However, we have three discussions here: (1) Do we want darcs vcs model? Except Thomas Schilling, who seems to be dead set to get rid of darcs, everybody who voiced their opinion seems to be in favour of the darcs model. (2) Is the current implementation of darcs up to a project the size of ghc? Due to problems in the past & performance regressions with darcs2, a serious number of (important) people believe that the current implementation is not good enough. (3) If we change the vcs for the ghc repo, do we change the vcs for the boot libs, too. This is just an open-source project maintenance question. It has nothing to do with which vcs is better. This is the only point I have been arguing: *if* GHC's repo changes, all boot lib repos must change, too. Manuel Ian Lynagh:
On Sun, Aug 10, 2008 at 08:17:50PM -0400, Norman Ramsey wrote:
On Sat, Aug 09, 2008 at 06:56:23PM -0400, Norman Ramsey wrote:
personally I would much prefer to see money spent on making darcs better, for reasons I won't repeat again.
I missed them and wouldn't mind receiving a private note.
OK, I'll send to the list so that I have somewhere convenient to point people if this comes up in the future:
* A lot of darcs's functionality could be refactored into generally usable Haskell libraries, e.g. LCS-finding, downloading-with-libcurl.
* darcs was once a flagship Haskell application, supporting the idea that Haskell can be used in the real world. That image has mostly faded away now due to the problems it has, but I think we can get it back if we can get a high quality darcs out there. That would be good for the community's image.
* darcs has (in my opinion, at least) a much simpler, more intuitive interface than the other version control systems. I don't think I'm alone here, as I think this is where a lot of the resistance against moving to git is coming from.
* I think darcs is the Obvious, Right way to do version control. Phil Wadler (at least, I think it was him; and probably many others too) has said that the lambda calculus is universal, in the sense that if we were to meet a sufficiently advanced alien culture, it is almost inconceivable that they would not have also discovered the lambda calculus. Darcs-style patch theory, before conflicting patches are introduced, falls into the same category in my opinion. (I'm not yet sure if it can be extended to include some definition of conflictors too). By contrast, the heuristics and multiple merge algorithms of other systems feels very ad-hoc.
Thanks Ian