Modules and their explicit export lists (are an annoyance)
felipe.lessa at gmail.com
Sat Jun 19 21:00:05 EDT 2010
On Sat, Jun 19, 2010 at 08:38:52PM +0200, Christian Höner zu Siederdissen wrote:
> But the more important thing is, that it makes extending module
> functionality a pain (eg. if a constructor is not exported using (..)).
I think this is another problem. Sure, without export lists you
*currently* can't hide those constructors. However, languages
like Java don't have export lists as well. Imagine if we could
write this in Haskell:
private data Foo a = Foo a (Foo (Either a a))
Now, about the exports lists: they are useful to hide internal
functions. I have many modules where I define functions that are
not interesting outside that module.
More information about the Glasgow-haskell-users