On Monday, 17 February 2014 at 06:40:54 UTC, Paulo Pinto wrote:
On Sunday, 16 February 2014 at 23:40:58 UTC, 1100110 wrote:
On 2/16/14, 10:18, Elie Morisse wrote:
IMHO an approach that would not involve making a binary
choice between
"full D" and "minimal D" is to add an option to make the
linker strip
druntime and Phobos' shared libraries (or any shared library,
and it's
not specific to D btw) to the "lowest common denominator"
required by a
bunch of libraries and applications. Wouldn't that fulfill
one of the
two goals -nodruntime is trying to achieve as far as I
understand
(saving memory)?
And regarding the other goal, to help porting D to other
platforms a
stub druntime would be cleaner than a hackish compiler flag
that
requires many changes to DMD.
No. Any library compiled with -nogc will be 100% usable from
a program compiled without it. Same goes for -noexceptions,
etc.
This *is* a lowest common denominator. And as such, the
lowest common denominator is fully usable from code outside
the subset.
All these do is error on whatever feature they are disabling.
However I doubt the other way around will work.
Linking all those nice D libraries developed with standard D
into minimal D.
But what do I know, I always enable everything in C++.
--
Paulo
Note that you can disable rtti/exceptions etc in C++ (and in fact
we do that in all the companies that I have ever worked for since
around 2005). The feature is there because it's very useful.
This discussion is all about adding similar capabilities to D.