On Sunday, 12 October 2014 at 00:12:47 UTC, Mike wrote:
Sounds like you you and I are after pretty much the same thing.
I'm not really trying to build anything, like a kernel, just
yet.
Rather, I'm just trying to get a decent runtime built so we
can all have a reasonably polished language to work with.
You can find my work here:
https://github.com/JinShil/druntime_level_0. I'm afraid it's
not any further along then yours. I actually became quite
discouraged and stalled. I'm trying to explore other options,
hence this post.
Thank you for the pointer, I'll be checking in periodically.
I'm linking now with a restricted subset of druntime, and capable
of minimally using structs and enums. (That's actually almost
enough to write a C-language kernel using GDC. :-) )
I am thinking of two useful outcomes from this GDC feature
request:
1. A "libd.di" listing all of the extern function signatures the
compiler can automatically insert. (They can remain in mangled
form for now, ddemangle does good enough.) This would clear the
way for many new runtimes to be built.
2. Initiate discussion between GDC/LDC2/DMD on one or more
version labels for druntime features (what you have as level0,
level1, etc.). This would not only help enable new runtimes feed
implementations back to upstream druntime, it would also help
identify where druntime can be refactored for internal
decoupling. This would permit things like pluggable GCs.