Proposal: overhaul System.Process

Jules Bean jules at jellybean.co.uk
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.

Jules


More information about the Libraries mailing list