
20 Jun
2010
20 Jun
'10
1 a.m.
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. Cheers, -- Felipe.