creswick: > On Mon, Sep 6, 2010 at 5:29 AM, Ivan Lazar Miljenovic > <ivan.miljenovic at gmail.com> wrote: > > On 6 September 2010 21:57, han <e at xtendo.org> wrote: > >> So the question is: Do you agree that "Graphics.Rendering.OpenGL" actually > >> should have been "Graphics.OpenGL" (or just OpenGL) for wieldiness? > > > > I think Graphics.OpenGL would have sufficed, unless there was > > sufficient reason to want to group it with other rendering-specific > > modules. > > I'm relatively new to the Haskell community, and one thing that's > bugged me a bit is that there doesn't seem to be a convention (aside > from common sense) for segmenting the module namespace as there is > with Java (my other primary language). > Anyway, I'm curious how module namespace collisions/pollution will be > handled in Haskell over the next 5-10 years. Package hiding works in > some cases, but it seems like that will fail if you ever need to use > capabilities from packages that conflict within the same project. Well, we have a single global namespace for some 30k modules on Hackage. People are encouraged to partition their packages via top level names, such as Control.* or System.* An tree structure that is roughly followed, However, when this was planned, I don't think we expected to go from 100 modules to 30k modules in 4 years, and there's been little work on thinking about how to structure the module system at this scale, other than work on explicit package naming and versioning. -- Don