Deprecating phobos modules [was: Re: Isn't it about time for D3?]

Jesse Phillips via Digitalmars-d digitalmars-d at puremagic.com
Thu Jun 15 11:26:57 PDT 2017


On Wednesday, 14 June 2017 at 09:38:06 UTC, Martin Nowak wrote:
> On Saturday, 10 June 2017 at 23:30:18 UTC, Liam McGillivray 
> wrote:
>
> I'd be in favor of finally deprecating all sub-standard phobos 
> module (moving them to https://github.com/dlang/undeaD) to make 
> room for good implementations. Having a vacant place might be 
> more encouraging than to wait for something better to come 
> along.
> Of course discussing which modules should be obsoleted is a 
> tricky question.

I just got done with watching this great presentation by Rich 
Hickey[1].
It's about change, how semantic versioning is broken, and why 
packages are wrong when it comes to dependencies.

In essence he is saying we should have immutable code releases. 
For example he would say that we should add a new namespace and 
not get rid of the original (std2.io, std2.xml, std2.json) now 
you can get your improvements out and not break anyone's code, 
for example he would say old modules would be deprecated but 
never removed.

I don't agree 100% with him but he does make good points. Really 
what I'm hearing out of it is that these semantic versioned 
packages should all be accessible from your code, when you 
upgrade the package you don't automatically start calling the new 
version of the functions but instead get access to those 
functions along with all the previous releases. But that is a lot 
of extra information to add to every function call:

    @Package(arg, 1.4.2) foo(string i, int s) ...

1. https://www.youtube.com/watch?v=oyLBGkS5ICk&feature=youtu.be



More information about the Digitalmars-d mailing list