Proposal: overhaul System.Process

Jules Bean jules at
Wed May 14 10:23:54 EDT 2008

Bulat Ziganshin wrote:
> Hello Jules,
> Wednesday, May 14, 2008, 5:58:46 PM, you wrote:
>> Surely you can put the nicest new names in another module
>> System.Process.RunCommand
>> (or whatever)
>> programs which use the old versions will still work. Programs which want
>> the nicely named new versions can import from the new module.
> yes, it will work, but may become source of confusion: it will be
> impossible to copy-paste code between modules importing old and new
> functions and it will be impossible to understand behavior of code
> snippet without looking into imports

True enough. And this is already true. Consider the Traversable/Foldable 
functions which 'replace' the Data.List / Control.Monad versions.

I feel haskell is slightly weak at this kind of book-keeping actually. 
It's annoying that having decided to prefer the 'new' mapM_, and hiding 
the old from Control.Monad, you have to also hide it from the other 
places which re-export it.

I don't have a concrete suggestion for how to improve this :-( But the 
problem will surely come up again and again as the libraries get bigger 
and more things get either deprecated or generalised.


More information about the Libraries mailing list