
On Fri, Jun 19, 2009 at 02:44:25PM +0200, Johan Tibell wrote:
The argument I was trying to make is for some sub-module hierarchies (e.g. HTTP) the word "network" communicates very little information and is thus superfluous.
I agree that by the time you reach "HTTP", "Network" is superfluous. But the purpose of "Network" is to help the people looking for "OpenGL": they know that they can ignore the "Network" hierarchy, and in doing so they cut out a significant chunk of the search space in one go. They don't want to have to look through all of "HTTP", "NNTP", "FTP", ...
Also the deeper we make the hierarchy the more difficult it is to navigate it. Where would you expect to find a HTTP server module?
Network.Protocol Network.Web Network.Asynchronous
If only one of those exists then there isn't a problem. The hierarchy is to help people looking through a tree of available modules, e.g. the haddock contents page. I don't think that hierarchies are perfect, but I do think that human brains work well with them; probably better than with other systems which on paper ought to be better. Thanks Ian