Strong +1 from me, this is *especially* annoying when you want to selectively re-export parts of a module from somewhere or in case of exports generated by TH.
Cheers, Merijn > On 26 Oct 2014, at 12:28, Tom Murphy <amin...@gmail.com> wrote: > > (Not to be confused with the "hiding import behavior" discussion also going > on) > > -- > > Currently, I'm able to write "module Foo where" to export everything defined > in Foo. > > If, though, I add to the module some definitions which I don't want to > export... > > data Lockbox = MkLockbox Int > > internalFunction = ... > > ...I then have to explicitly enumerate everything that I *do* want the module > to export, and add to that list each time I add to the module. > > I propose that instead, we're able to simply say what we mean: > > module Foo hiding (Lockbox(MkLockbox), internalFunction) where > > I think its semantics are immediately clear to the reader. > > There's a little bit of bikeshedding that needs to happen (e.g. is "hiding > (Foo(..))" sufficient to hide the type Foo and not just its constructors), > but are people +1 on this? I've frequently wanted this behavior. > > Tom > > _______________________________________________ > Glasgow-haskell-users mailing list > Glasgow-haskell-users@haskell.org > http://www.haskell.org/mailman/listinfo/glasgow-haskell-users _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users