A betterC modular standard library?

Guillaume Piolat via Digitalmars-d digitalmars-d at puremagic.com
Mon Dec 19 11:31:24 PST 2016


On Sunday, 18 December 2016 at 09:26:09 UTC, Ilya Yaroshenko 
wrote:
> Hi,
>
> Who is interested in betterC _modular_* standard library?
> I am planing to make libmir org a community for it.
> Thought and concerns?
>
> We already have better `cpuid` and better `random` packages. 
> The betterC std.range and std.algorithm analogs would be 
> released with new ndslice implementation. Mir's algorithm would 
> be faster then Phobos and will generate less template bloat. 
> Then lightweight threads, multithread GLAS, matrix inversion. 
> Fastest I/O and http2 ...
>
> (they all are betterC modular libraries)
>
> Andrei and probably 90% of existing D users don't want Phobos 
> to move this direction.
>
> In other hand I need a commercial attractive D infrastructure 
> for large and heavy system projects. There is no commercial 
> perspective for me to contribute to Phobos because:

If I understand correctly, the only reaon not to disable the 
runtime instead of going betterC (what I call runtime-free vs 
runtime-less) is because Phobos and druntime aren't ported to 
every platform you need, but the libC is.

That it calling for the question: "Isn't porting Phobos and 
druntime to those new platforms your clients need less work?"

Maybe they only need ARM and x86-64, the effort should be minimal 
then? And with the runtime disabled, things like the GC just need 
to link, not actually work :)
Tha makes porting a bit simpler.

Things like std.algorithm, std.range, traits etc... took many 
man-years to do and can work as is.
core.cpuid can work with little modifications.

I'm not saying you can use a lot of Phobos and druntime without 
using the runtime, because currently you can't.
But think about it: when not linking the runtime, there isn't 
even a way to call "emplace" or "destroy", dynamic casts won't 
work, etc.

In the future more and more things will work without the runtime, 
exceptions, class creation and then you'll don't have to maintain 
a stdlib.

Please reconsider reconsidering.


More information about the Digitalmars-d mailing list