Phobos - breaking existing code

bearophile via Digitalmars-d digitalmars-d at puremagic.com
Sat Nov 29 04:08:07 PST 2014


Ola Fosheim Grøstad:

> Phobos is too much of a scripting-language library to me, too 
> much like Tango, and hacking in ref counting makes it even more 
> so.

Those "scripting" needs are real, and rather common. Those high 
level things are worth having in Phobos. On the other hand it's 
also reasonable to desire something more fit for a lower level 
kind of coding. One solution is to split Phobos in two groups of 
functions, for the two usages (and to forbid the lower level 
functions to call the high level ones), and ship the compiler 
with both parts. There is already "Phobos core", but I don't know 
if its meaning is the same as you desire (probably not).


> To me, a "better C" would have a minimal runtime, a tight 
> minimalistic standard library and very simple builtin ownership 
> semantics (uniqe_ptr). Then a set of supporting libraries that 
> are hardware-optimized (with varying degree of portability).

Clearly D is not a "better C", it's a "better C++/Java". You can 
use D as a "better C" but this needs some adaptation, both for 
you and the libraries.


> However, I think those that are interested in D as a tight 
> system level language have to spec out "better C" themselves as 
> a formal language spec sketch. I'd be happy to contribute to 
> that, maybe we could start a wiki-page. Since a "better C" 
> would break existing code, it would allow a more "idealistic" 
> language design discussion. I think that could cut down on the 
> noise.
>
> I think an experiment would be worth it.

As usual in open source a good way to do things is to start them 
yourself and look at how many persons are interested. But from 
what I'm seeing Rust is putting itself at a level lower than D, 
with all its care for its "no runtime", it even has annotations 
and standard library sections for this kind of usage.

Bye,
bearophile


More information about the Digitalmars-d mailing list