[Haskell-cafe] Graphics.Drawing

Don Stewart dons at galois.com
Mon Sep 6 16:51:26 EDT 2010


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,

    http://haskell.org/haskellwiki/Hierarchical_module_names

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


More information about the Haskell-Cafe mailing list