This is a sequel, and correction, to a previous post:
There, I failed to get a simple string datatype test to work in the variant of D without a runtime. This could be very useful as a way to extend languages that have their own runtime, e.g. Lisp and Prolog dialects. However, when I tried this again, I got it to work this time.
There are a few things I did differently. And more importantly, my aim has changed in the meantime. My interest now lies in coding "hot loops" of programs written in higher-level languages; I don't find rewriting systems in a procedural/OO language very interesting.
After this, "dub build" works. There are a few other things I've learned:
Like I said earlier, being able to compile without a runtime is almost essential to extend higher-level languages. And this is the favourite way I've found so far (C++ with the Core Guidelines is another option, but I think it's complicated).