Dylan Graham har præsenteret et letvægts runtime LWDR til programmering i D-sproget for mikrokontrollere, der kører med realtidsoperativsystemer (RTOS). Den nuværende version retter sig mod ARM Cortex-M mikrokontrollere. Udviklingen har ikke til formål at dække alle funktioner i D, men tilbyder grundlæggende værktøjer. Hukommelsesallokering udføres manuelt (new / delete), og der er ikke implementeret nogen garbage collector, men der er en række hooks til brug af RTOS faciliteter.
I den præsenterede version understøttes:
- allokering og destruktion af klasseinstanser og bunke for strukturer;
- invarianter;
- asserts;
- kontrakter, grundlæggende RTTI-værktøjer (gennem Typeinfo-værktøjer);
- interfaces;
- virtuelle funktioner;
- abstrakte og statiske klasser;
- statiske arrays;
- allokering, frigivelse og ændring af størrelsen på dynamiske arrays;
- tilføjelse af elementer til et dynamisk array og sammenkædning af dynamiske arrays.
I status som eksperimentelle funktioner: undtagelser og Throwables (da de kræver understøttelse af garbage collector).
Ikke implementeret:
- konstruktører og destruktører for moduler;
- ModuleInfo;
- lokale trådevariable (TLS);
- delegater og lukkede funktioner;
- associative arrays;
- delte og synkroniserede data;
- hasherede objekter.
Kilde: opennet.ru
