
On Thu, Mar 11, 2010 at 10:00 AM, Yitzchak Gale
John Meacham wrote:
Please don't deprecate these modules. It is actively contributing to bitrot to deprecate a perfectly useful and well defined API.
I think "deprecate" is just the wrong word. Gwern is not saying that we should remove haskell98 from Hackage, nor remove the -98 flag from Hugs, nor build a special case into compilers that make modules not compile if they use Haskell 98 syntax.
As I understand it, the problem he is trying to solve is the following:
Haskell code today uses hierarchical module names almost universally. This has been the case for years. Yet a huge number of packages on Hackage directly or indirectly depend on the the haskell98 module, whose sole purpose is to allow the old non-hierarchical module names from pre-addendum Haskell 98.
Gwern is just trying to think of a way to remove all of those spurious dependencies. I agree that this cleanup would be a good idea. The only question is, how do we best go about it?
Or have I misunderstood?
Thanks, Yitz
Seems reasonable. Besides asking for a warning in Cabal (the logical place, since GHC is too low-level and doesn't handle module/package-level stuff), Neil has already mentioned that hlint will warn about haskell98 module names, and I have been sending in patches removing haskell98 deps - the fewer users of haskell98 there are, the less the cost of adding such a warning. With a three-pronged approach, the pain should be as minimal as possible. -- gwern