
Hi
David, please do not read my word as a critique. I'm just thinking about the casual user, possibly a member of the haskell community, who read about xmonad, its solid design, a project headed for it 0.3
I did ask sjanssen about this originally, asking why not have exactly one repo for contrib and normal stuff. The answer I got back was that its harder to tell if a patch touches the core section if they are in one repo. While that is a perfectly sensible answer, perhaps a simple grep command could be written which checks this property automatically, and then have an apply-contrib shell script which stops if any modification is made to the core xmonad. The other answer is that by having one repo makes people strive for a higher standard for contrib - perhaps that isn't the end of the world. Also Pugs have been very liberal about letting people add stuff, so as long as you are welcoming and friendly (something I don't think we need to worry about!) I think people should be able to freely send patches to the main repo. Once you've moved to having only one repo, perhaps you could augment your tests to ensure that all the contrib modules at least compile when a patch is applied. This will make you think twice about changing the API (not a bad thing), and will ensure that code at least always compiles. For Haskell code, the fact that it compiles is probably enough to have a reasonable degree of faith that it still probably works. As a side note, my Haskell folder now has more XMonad stuff flowing into it per day than cabal-devel, hugs-bugs, hugs-users, ghc-bugs, ghc-users, ghc-cvs, hugs-cvs, haskell, haskell-cafe, hat, hoogle, generics and a few others! Thanks Neil