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