
So why shouldn't OpenGL be naming its modules OpenGL.*, rather than Graphics.Rendering.OpenGL.*? Personally, I can't think of any sufficiently compelling reasons any more.
All of the other changes suggested in this thread would improve the usability of the Haddocks tree, provided that we standardize on them. But if everyone has their own idea about how to classify functionality, we're back to the same problem.
We have to remember that we live in a temporary situation. In the future, we are going to have many hackages, and every group of developers or companies or universities are going to have their own. We can't have a single rule for modules that extend beyond the most basic ones. It's good that everyone have their own idea on classification. That's how we can converge to good for all classification as time passes. What would be nice is to have the proper tools to easily reorganize that hierarchy as we wish. Today, we don't actually have module hierarchy, we just have '.' (dot) accepted in module names. It would be nice if we could say to our compiler that we wan't all modules under Control.FRP.Graphic.UI (and also in package X or Y) to be under MyBase, e.g., Control.FRP.Graphic.UI.Example would became MyBase.Example with no need for a import qualification. That would avoid clashes between diferent conflicting hierarchies. Best, Maurício