Phobos 2

9il via Digitalmars-d digitalmars-d at puremagic.com
Thu Jun 1 23:44:33 PDT 2017


On Thursday, 1 June 2017 at 18:40:05 UTC, Brad Anderson wrote:
> A (surely controversial) idea popped into my head while talking 
> in #d on Freenode. The C++ guys are making an STL2 (the 
> highlight of it being that it is range based). What about 
> taking all the lessons learned from Phobos and creating a 
> Phobos 2? It wouldn't replace the current version. You could 
> import either in one program. It also wouldn't be a radical 
> redesign. Most of Phobos could be used as is. What it would do 
> is allow fixing some hard or impossible problems without losing 
> backward compatibility.

Mir libraries are alternative to Phobos
https://github.com/libmir

> We could do away with auto-decoding. Design it around using

Primitives that do not perform auto-decoding.
http://docs.algorithm.dlang.io/latest/mir_array_primitives.html

> Andrei's allocators throughout. Make the GC optional from the 
> start. Fix a few important naming conflicts and discrepancies.

It is a huge work.

Allocators are part of the Phobos, GC is part of the runtime.
So, allocators should be moved to runtime.

> There are problems, of course. Rampant code duplication is 
> probably the biggest (though maybe public imports of identical 
> code would help a lot).
>
> I don't really expect this to go anywhere but I am curious to 
> hear what changes you'd all like to see made to Phobos that 
> can't happen because of backward compatibility. Also, how would 
> you approach doing this? An on disk copy of Phobos with changes 
> would not be an acceptable approach, I think.

Mir uses separate dub packages for algorithmic and system parts. 
We are looking for new contributors.

Best,
Ilya


More information about the Digitalmars-d mailing list