[Hackage] #640: Cabal should warn about haskell98 dependencies

Hackage trac at galois.com
Thu Mar 4 12:08:48 EST 2010

#640: Cabal should warn about haskell98 dependencies
  Reporter:  guest            |        Owner:                        
      Type:  enhancement      |       Status:  new                   
  Priority:  low              |    Milestone:                        
 Component:  Cabal library    |      Version:  HEAD                  
  Severity:  minor            |     Keywords:  check, warn, haskell98
Difficulty:  easy (<4 hours)  |   Ghcversion:                        
  Platform:                   |  
Description changed by guest:

Old description:

> I grepped through my collection of repos, and found dozens upon dozens of
> uses of the 'haskell98' package (for the full list, see
> http://community.haskell.org/~gwern/wiki/TODO.page & scroll down).
> Now, either a package uses the haskell98 module names or it doesn't use
> them.
> If the package doesn't actually use any of the old module names, then
> clearly that's bad and it should be removed and the developer should be
> warned about this unconditionally.
> If the package does use the old module names, this is bad too: most every
> Haskeller got started after the hierarchical modules were made official
> and general, and the old module names are akin to n+k patterns - they are
> things that should be removed, because modules using the hierarchical
> module names are more comprehensible to Haskellers than the old haskell98
> modules, which mingle things that have been separated (Foreign comes to
> mind). So use of haskell98 ought to be warned about here as well.
> Given that both common situations are bad and ought to be warned about, I
> think Cabal check ought to emit a warning whenever haskell98 is used.
> There *may* be some compiler or bootstrapping-related cases where
> haskell98 is genuinely useful, but I'm doubtful any such exist, and such
> would be far in the minority anyway.
> --
> gwern

New description:

 GHC warns about non-dangerous things. What's dangerous about redundant
 imports, or unused variable names? The hierarchical modules are hardly
 unstable new innovations; Data.List or Control.Monad aren't moving around.
 More than a decade later, it's time for people to use the module names
 people expect.


Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/640#comment:2>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects

More information about the cabal-devel mailing list