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

Hackage trac at galois.com
Thu Mar 4 12:10:04 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:

> 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.

New 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

--

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



More information about the cabal-devel mailing list