Dylan Graham a prezentat un runtime ușor LWDR pentru programarea în limbajul D al microcontrolerelor echipate cu un sistem de operare în timp real (RTOS). Versiunea actuală vizează microcontrolerele ARM Cortex-M. Dezvoltarea nu are ca scop acoperirea completă a tuturor funcționalităților limbajului D, ci oferă instrumente de bază. Managementul memoriei se face manual (new / delete), nu este implementat un colector de gunoi, dar există o serie de hook-uri pentru utilizarea instrumentelor RTOS.
Versiunea prezentată suportă:
- alocarea și distrugerea instanțelor de clase și a stivei pentru structuri;
- invariante;
- assert-uri;
- contracte, instrumente de bază RTTI (prin intermediul Typeinfo);
- interfețe;
- funcții virtuale;
- clase abstracte și statice;
- mari statistici;
- alocarea, eliberarea și redimensionarea vectorilor dinamici;
- adăugarea de elemente în vectorul dinamic și concatenarea vectorilor dinamici.
În statusul funcționalităților experimentale: excepții și Throwables (deoarece necesită suport pentru colectorul de gunoi).
Nu sunt implementate:
- constructori și destructori de module;
- ModuleInfo;
- variabile locale de fir (TLS);
- delegati și closure-uri;
- matrici asociative;
- date partajate și sincronizate;
- obiecte hashate.
Sursa: opennet.ro
