On Sat, Jun 19, 2010 at 07:23:50PM -0700, Evan Laforge wrote: > On Sat, Jun 19, 2010 at 6:00 PM, Felipe Lessa <felipe.le...@gmail.com> 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.
That's my point. Hiding a constructor is orthogonal to using export lists. Cheers, -- Felipe. _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users