
I am not sure if this has been mentioned before, but something I would really find useful is the ability to tell Haskell to export everything in a function except for some named functions.
No one has responded so I thought I would make a suggestion about what the syntax might look like to do this. Currently the syntax to set what gets exports is:
module Module ( list, of, things, to, export ) where .... and to hide things on import is import Module hiding ( list, of, things, not, to, import )
How about combining the two (since 'hiding' is already a reserved word):
module Module hiding ( list, of, things, not, to, export ) where ....
Everything gets exported except what you explicitly hide. Is this general enough? Are there reasons why this might not work? And does this solve your problem? Does anyone like this idea (aethestically and pragmatically)? Jared.