@ilya: regarding -betterC 's stated goal to bypass druntime: besides static linking (which can be inefficient), why not use runtime shared libraries to distribute mir (eg GLAS) to C clients ?
IIRC, from a single C++ program, I am able to dlopen & dlsym & run D functions defined in shared libraries built with different compilers (eg dmd and ldc) even if they use GC (and therefore dmd's and ldc's druntime) ; pseudocode: // main.cpp ``` void main(){ dlopen, dlsym, and run "void fun1()" from libfun_dmd.so dlopen, dlsym, and run "void fun2()" from libfun_ldc.so } ``` That would provide the needed isolation without suffering from disadvantages of static libraries (eg bloat); compared to the betterC alternative, you'd have access to all of druntime/phobos and not have to reinvent the wheel On Tue, Dec 20, 2016 at 1:06 AM, Paolo Invernizzi via Digitalmars-d < digitalmars-d@puremagic.com> wrote: > On Tuesday, 20 December 2016 at 08:15:35 UTC, Dicebot wrote: > >> On 12/18/2016 11:26 AM, Ilya Yaroshenko wrote:> >> >> This actually may be even possible to do within a linear deprecation >> process. On the other hand I doubt such drastic change to structure is >> possible to be sold to community. >> > > Consider that plan sold to me... > > --- > Paolo > >