
On 03/12/10 15:07, Iavor Diatchki wrote:
thanks Iavor!
I agree with John because I don't think that adding warnings about using the haskell98 package achieves anything meaningful.
Okay. Who likes importing "Data.List" and "Monad" in the same module? Anyone? (I'll believe it if you say yes, because I've an inkling of a reason in my head... but you'd better be a real person wanting that, not just a hypothetical.)
The issue seems to be a matter of taste---some people like it, some don't, and we already have a system that lets us choose if we want to use it or not.
Do you mean the .cabal file i.e. "don't depend on haskell98" ? If so, I daresay that is indeed a pretty good system. It's making it easier for Gwern to send patches to package authors he thinks might be sympathetic. (it's like a warning message, but generated by a human rather than a machine, and correspondingly smarter!)
It certainly does not seem in the same class of problems as "incomplete patterns in definitions", for example.
but it's nearer the class of -Wall warnings, some of which are for controversial points of style (such as type-signatures for every top-level definition). By the way, does anyone actually practice "only import with an explicit import list", and how often does *your* code break?
As far as indirect dependencies are concerned, I agree that it might be nice to have more control over the packages on which we depend (certainly important in the case of GPLd libraries) but that has nothing to do with the haskell98 package.
if you depend on haskell98, then you depend on: array, base, directory, old-locale, old-time, process, random (which indirectly depend on filepath and time, also.) Hmm. I was thinking it could be useful to have statistics on what portion of Hackage actually uses things like network, but that isn't included. I reckon "process" might be the most "interesting" of those deps, but, I don't know -- anyone want to advocate specifically? -Isaac