On Thursday, 2 January 2014 at 18:22:46 UTC, Jeroen Bollen wrote:
Currently D has a very poor support for creating and loading
dynamic libraries. It requires a bunch of code while other
languages like C just allow you to create it as you would
create a static library.
A problem here seems to be that D wants to integrate as much as
possible with other languages, resulting in very poor support
for integrating with it's own language.
I understand that the problem here is that the libraries get
saved as .so or .dll, which should also linkable with other,
non-D, applications, meaning the runtime cannot initialize on
it's own.
Why isn't there a D-specific format for dynamic libraries, that
just shares the garbage collector with the main application,
and thus only allow you to link it with D programs, and that
way make it way easier to write a dynamic library in D.
I guess the only reason this doesn't exist is because it'll
take a lot of work?
There is one such format, it's called DDL
(http://dsource.org/projects/ddl) and it dates back from the
ancient D1 civilization.
It just seems nobody has ported it to D2 yet.