[Haskell-cafe] Re: List of exports of a module - are
there alternatives?
wren ng thornton
wren at freegeek.org
Wed May 13 19:44:28 EDT 2009
Maurício wrote:
> I would like a keyword we could add to a single declaration,
> like:
>
> hidden a :: Int -> Int
> a = (...)
>
> The 200 names is not the best example. It's more a question of
> proportion: if you export 5 declarations in a module with 20,
> it's OK, but if you export 19 declarations in a module of 20
> maintenance can be painfull to your eyes, going up and down
> into your file to check if the list is correct.
It sounds like what you (may) want is a refactoring browser which can
annotate definitions for whether they're exported or not. This would
solve the maintenance issue without the need for a language change. I
don't know whether Leksah[1] or Yi[2] can do this, but if not it should
be easy to add and it's a reasonable feature to request.
Everyone agrees that the module system in Haskell98+HierarchicalModules
is the weakest thing we could get away with at the time, and also that
it's in need of serious redesign now that we have large scale projects
which are straining those boundaries. However, as with the other folks
on this thread, I don't think that a new keyword is the proper path for
extending the design. Too ad-hoc, too Java/C++ like, it just doesn't
have the feel of a fluent, principled, modular, extensible design.
[1] http://leksah.org/
[2] http://www.haskell.org/haskellwiki/Yi
--
Live well,
~wren
More information about the Haskell-Cafe
mailing list