
Simon Peyton-Jones:
2. The version control system (VCS)
GHC needs "core libraries" without which it cannot be built. It is obviously highly desirable that a developer can build GHC with just one VCS, which suggests that the core libraries should be in git too. But those same core libraries are used by nhc98 and Hugs (I think that's all), and the last thing we want to do is to impose new costs on other implementations.
What are these costs? I don't believe there are serious costs for those developers. Malcolm told us that all he contributes to the core libraries is fixing them for nhc when they break. He doesn't even validate, so I am sure he doesn't use branches or anything similar. The cost for him is to learn how to get, record & push with git. AFAIK, the only person who works on Hugs is Ross. He contributes to GHC, too, and hopefully validates his library patches before pushing. So, he'll have to learn to use git anyway.
It's unclear exactly what to do about this. The most plausible possibility is to keep the core libraries that are shared with other implementations in darcs as now, and mirror them in git for GHC developers. That will impose pain on GHC developers to keep the git stuff in sync with the darcs master copies; but at least other developers would be unaffected.
Everybody who contributes to the boot/core libraries needs to validate their patches. If the GHC version of the libraries is in git, then all library code needs to be validated against the git version of the libraries before it can enter the master repository. I don't see how that makes anything easier for anybody. As I said before, I believe there is exactly one sane solution: all boot libraries use the same vcs as ghc. Manuel