
On Sun, 2008-04-20 at 13:59 -0700, Bryan O'Sullivan wrote:
As I've been maintaining cabal-rpm to try to keep up with developments in Cabal, I've found myself wondering why it's not using many of the usual tricks to hide the plumbing, such as a custom monad transformer stack.
Some parameters, such as flags, compiler info, and package descriptions, pop up simply all over the place, and they're passed around explicitly. This seems a smidge peculiar. A couple of days with a crowbar and ReaderT StateT IO would do wonders for readability, if anyone feels so inclined :-)
Yeah, it's part of the plan for the new development series. The reason we could not do it in the last is api compatibility with existing Setup.hs scripts. The UserHooks types severely restrict that kind of refactoring but I hope we can redesign UserHooks this dev series. It'll break all custom Setup.hs scripts again though. Duncan