
On Thu, Sep 16, 2010 at 11:21 AM, Duncan Coutts
It's true that the naming scheme would be more consistent, however I think the more important point is to communicate clearly to users of the platform what it is that they need to do.
Consider some Haskell programmer who is not reading this mailing list. They use the platform and mtl-1 in their code. If the next HP release contains mtl-2 then it is clear to them what they need to do: they just need to test their code against mtl-2 (fixing any compilation problems and adjusting build-depends version constraints). If on the other hand we removed mtl-1 from the platform then our example coder does not know what to do. It's much more work for them to discover that this new package monads-fd was just added to the platform and it seems to provide the same modules.
This is probably the last chance we have to deprecate the name 'mtl'. Is it doable to: - Add both mtl-2 and monads-fd to HP. - Instead of renaming monads-fd to mtl, re-export all monads-fd modules in mtl-2. - Mark all mtl-2 modules as deprecated and point to monads-fd. - After some time, remove mtl-2 from HP. Packages will still work as with OP's proposal, albeit printing many deprecation warnings. Cheers! =) -- Felipe.