On Saturday, 11 October 2014 at 06:59:33 UTC, Mike wrote:
Hello,

In my continued, though stalled, effort to try and make minimal runtime for embedded systems, I've tried to find a way for users to know at compile-time if a feature of the runtime is supported or not, and more importantly, if they are explicitly or implicitly using an unsupported feature.

I have started work myself on a D kernel (using gdc based on 2.065 as compiler) and am going through the process of figuring out how the D runtime works. I have looked at XOMB and Adam Ruppe's minimal-d, and saw the presentation online on running D on ARM.

I can boot and call D functions, but most of the D language remains unavailable. I am locating the various dependencies of object.d(i) now, and hope to be able to soon be able to at least complete a link with D code that has structs and enums. I am currently using 2.065 druntime, adding only those bits of object.d that the compiler is directly referencing, and versioning my changes with version(BareBones).

Is your work online somewhere? Would it be OK if I took a peek? Mine just started (seriously, it is just hello world) over at: https://github.com/klamonte/cycle

I would really like a micro-runtime that supports the D dialect minus GC, Threads, synchronization, OS APIs, and i386/amd64 arch-specific things like atomic operations. So far (crossing fingers) it seems like such a thing is only about 5-10 kloc.

Reply via email to