Transitioning std lib modules/packages

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Fri Nov 25 08:50:39 PST 2016


On 11/25/2016 11:39 AM, Ilya Yaroshenko wrote:
> The new Random module was builded in Better C concept in mind.
> Comparing with ndslice, random module has precompiled code. And we need
> to solve not only the naming problem. We need integration with dub where
> we can select and download/override/recompile appropriate desired
> version of a Phobos part like random.
>
> This is very important for potential contributors and companies.

I don't know of precedent in other languages whereby the standard 
library is built by mixing and matching third-party components. At some 
point we need to commit to supporting a core standard library. Having 
folks replace parts of it may be allowed but to support it formally 
seems a bit much.

At any rate it would be good to treat this as an orthogonal matter. 
Don't let that prevent you from doing good work in std.

> I think that Better C Phobos packages may have their own prefix, like
> `ext.` (external extension from community).

There are any number of cross-cutting concerns that one might want to 
look at a library. Which parts are safe? Which parts don't throw? Which 
parts need the GC? Which parts rely on the runtime? And so on. Ascribing 
hierarchical namespaces to some or all of these seems counterproductive. 
Just document is as "this module does not rely on the runtime" and move on.

> Or, better, `mir.`, hehe

If receiving appropriate recognition/branding for your work on the 
standard library is important to you, I'll be glad to discuss that 
privately.


Thanks,

Andrei



More information about the Digitalmars-d mailing list