Just for fun and as a serious learning exercise, I'm developing a hobby kernel 
of sorts (L4 microkernel inspired) and since it's my play project I was 
thinking of using D to implement it. I know it'll have to be written in a 
strict subset of D, as most of the runtime will need to be stripped out anyway. 
I've done some basic research, stumbled upon XOMB OS (a small exokernel project 
written in D) but wanted some thoughts from people who may have much more 
insight into the internals of D. So a few questions:

What exactly are the language features I can use at such a lower level? I know 
OOP stuff is out (or is it?), dynamic arrays, GC, lazy functions, etcetera. So 
that leaves structs, CTFE, contract programming, mixins, templates, AST macros, 
basically any compile time features, correct? I'm sure there are a few others 
I'm missing.

I've been lurking for awhile, and last time I checked there were three 
different compilers. LDC looks to be the most promising. What are peoples' 
thoughts / experiences with the latest version of LDC?

How large is D2's runtime? Is it even worth the time and effort to strip down a 
custom runtime for kernel use in the first place? In general things need to be 
fairly lean, so executable size is a concern.

Oh, and thanks in advance!

-Jesse

Reply via email to