Modules and their explicit export lists (are an annoyance)

Christian Höner zu Siederdissen choener at
Sat Jun 19 14:38:52 EDT 2010

Hi everybody,

I'd like some input on other peoples' thoughts on this. Recently, I
played around with a library that uses an explicit export list. While
there are reasons for having one:

- efficiencey (inlining in the module)
- encapsulation

in practice, it seems to me that they are more annoying than useful. For
once, it would think that ghc should produce efficient good across
modules with -O / -O2 anyway.
But the more important thing is, that it makes extending module
functionality a pain (eg. if a constructor is not exported using (..)).

So, should I really fork a library just to be able to add a function?

Btw. there are libraries, where an explicit export list is used, that
export the right amount of information. For example, in 'vector' enough
is exported to allow you to extend unboxed vectors.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
Url :

More information about the Glasgow-haskell-users mailing list