Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

My company used Darcs for several years roughly around 2006-2009. It was great.

One of the magic aspects of Darcs was that picking a commit from another branch would include all the other commits that it depended on, which meant it was much easier to migrate logical changes between branches. With Git, if you're not merging/rebasing all of a branch, you have to manually untangle everything.

Darcs also pioneered the interactive "hunk record" interface, which Git eventually added as "git add -p".

Darcs' main problem was performance. Back when we were using it, it had an edge case where the merge algorithm sometimes went into exponential time, and it could take hours for it to resolve a conflict. It tended to happen at the worst possible time, and of course nobody could hack Darcs to fix it -- even the main author of Darcs seemed to struggle to find a solution. To my recollection, when Darcs 2 came out with (apparently) a fix, Github was already happening, and switching over to Git was a no-brainer. Git was considerably worse than Darcs, and it still isn't nearly as user-friendly, but on the other hand, I've never lost any productivity time to Git bugs.

Pijul is inspired by Darcs and uses a similar "theory of patches", but it doesn't suffer from Darcs' issues, last I checked. Rust also has more mindshare than Haskell, so it's got a higher chance of being adopted.



It's worth noting that Darcs is seriously considering just porting Pijul's algorithm into their next version to fix some performance issues.

http://blog.darcs.net/ and search for "Pijul" to find multiple mentions of this.

> Rust also has more mindshare than Haskell, so it's got a higher chance of being adopted.

I'm... uh... not so sure about this. The Haskell community is quietly pretty big these days. It's not that Rust isn't growing rapidly (and is growing fast due to consistent direct capital infusion from Mozilla), but as of the first half of 2018 it certainly felt like a smaller and more specialized community than the rather large surface area Haskell covers.


I don't mean the size of the community, but that Rust has an edge as far as being "mainstream-adoptable" and more mainstream-friendly overall.


I used darcs in about the same period, and in a proper distributed fashion, the ability to cherry pick a whole feature from a random repo was magical. Sadly, performance issues were common enough to make it painful to use compared to the alternatives.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: