Mars Drafting Library - Official community driven library
Piotrek via Digitalmars-d
digitalmars-d at puremagic.com
Sun Feb 1 00:15:23 PST 2015
On Saturday, 31 January 2015 at 20:47:43 UTC, ZombineDev wrote:
> I like the idea of having an additional library that we would
> ship alongside Phobos with every release. There of course some
> obvious pros and cons for having 'Mars' (or whatever is called)
> as a DUB packages vs included in the standard library:
Thanks for comments:) I'm going to address most of them.
> Pros being included alongside Phobos:
> + Better testing because more people can/will use it
> + Potentially better code, because of code review during pull
> requests and generally high standards for new stuff (like with
> std.experimental.logger).
> + More stable, because people may care more for backwards
> comparability (though the points is that this will not be
> guaranteed).
> + People new to the language will feel more comfortable using
> 'standard' libraries.
> + etc...
> Cons:
> - Extremely slow release cycle.
There can be nightly/weekly builds if really needed. But in
general, yes, release cycle would be the same as DMD package.
> - Hard to get new stuff (controversial like GUI) in.
The key aspect of the proposal it to have that kind of
functionality go through a processes of eliminating controversy
as much as possible during developing stage.
> - Not being able to have external dependencies than druntime
> and Phobos (like bindings for C libraries)
> - etc...
Being a part of official packet it is actually advantage. As an
opposite example I couldn't get curl module working under Ubuntu
in sensible time.
> I think a good compromise would be the following:
>
> 1. Include DUB with DMD. We don't need a stable DUB as a
> library API to just use it to get other packages.
> 2. Make 'Mars' a DUB package and use semantic versioning to tag
> new releases.
> 3. Move it to github.com/D-Programming-Language/.
> 4. Include last known 'well working' with every DMD release.
> (Of course other implementations are free to decide whether to
> include it). Or we can have some post-installation script which
> would call DUB.
> 5. Afterwards if a new version of 'Mars' is released users can
> just do a 'dub upgrade' to update the one that's already
> included, or wait for a new official release.
>
>
> Another good idea is to separate Phobos from DMD and also put
> it on DUB. As you can see[2] many of the integral parts of.NET
> are provided as packages and people have no problem using them
> as such (you can see by the large download numbers).
>
>
> [1]: http://blogs.msdn.com/b/dotnet/p/nugetpackages.aspx
> [2]: https://www.nuget.org/packages
This proposal's aim is to be the least intrusive so that kind of
changes are out of the scope. DMD and Phobos are often coupled in
terms of changes (bug fixes etc). I'm against moving standard
library to DUB.
Piotrek
More information about the Digitalmars-d
mailing list