The idea with Hackage was to create a central place for people to put software or links to software, so keeping only one server for free (as in beer) packages would be desirable. However, this does in no way limit how Hackage can be used for private code repositories.
So I assume that means you also think we need a way to locate packages on various repositories. Would you agree that URLs would be a good way of doing so?
And, if there are multiple hackage servers, we are going to need to indentify the server from which a particular package originates and the location of that package on that server. This proposal provides an obvious method of doing so.
Specifying sources on the cmd line or in /etc/cabal/sources.list sounds more maintainable to me.
Except you then need to notice when you are no longer using a particular package and do bookkeeping. You also have no way of saying that one of your modules is using version X of a package while another is using version Y without command line specification.
If module names were with respect to packages that would be entirely fine. But right now module names are global and that is a serious problem.
But they are! GHC can even handle several versions of the same package. Modules from a package wont be in scope if you hide or ignore it.
But suppose you want to use two different verions of the same package in a single module....Perhaps because you need to read a file saved with a show corresponding to an old version into a data structure defined in the new version...
-Alex- ______________________________________________________________ S. Alexander Jacobson tel:917-770-6565 http://alexjacobson.com _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell