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