
On Fri, 15 Aug 2008, Andrew Coppin wrote:
Henning Thielemann wrote:
http://www.haskell.org/haskellwiki/Hierarchical_module_names
Right. So if for some reason two people both developed a hashtable implementation (say), we would end up with two modules both called Data.Hashtable, but (hopefully) the packages themselves would be called james-hashtable and chris-hashtable (or something).
Now both packages can be installed at once, but when I say "import Data.Hashtable", GHC has no way to know which one I mean. That doesn't sound too clever to me...
Although it is possible to hide packages by GHC options, we should not do this, because several libraries might use different Hash tables and it would not be possible to write a program which uses many of these libraries. It's better to add a distinguishing part to the module name, like Data.HashTable.Coppin or so.