Modules and their explicit export lists (are an annoyance)

Evan Laforge qdunkan at
Sat Jun 19 22:23:50 EDT 2010

On Sat, Jun 19, 2010 at 6:00 PM, Felipe Lessa <felipe.lessa at> wrote:
> 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))

But that's just a syntactical difference.  I suspect whether you
prefer to put visibility directly on the definition or collect it all
in one place depends on personal taste and what you're used to.

More information about the Glasgow-haskell-users mailing list