Dylan Graham představil lehký runtime LWDR pro programování na jazyku D pro mikrokontroléry s operačním systémem reálného času (RTOS). Aktuální verze je zaměřena na mikrokontroléry ARM Cortex-M. Vývoj nemá za cíl plně pokrýt všechny možnosti D, ale poskytuje základní prostředky. Správa paměti se provádí ručně (new / delete), garbage collector není implementován, ale existuje několik hooků pro použití prostředků RTOS.
V prezentované verzi jsou podporovány:
- alokace a destrukce instancí tříd a haldy pro struktury;
- invarianti;
- asserty;
- smlouvy, základní prostředky RTTI (díky prostředkům Typeinfo);
- interface;
- virtuální funkce;
- abstraktní a statické třídy;
- statické pole;
- alokace, uvolnění a změna velikosti dynamických polí;
- přidání prvků do dynamického pole a konkatenace dynamických polí.
Ve statusu experimentálních funkcí: výjimky a Throwables (protože vyžadují podporu garbage collectoru).
Není implementováno:
- konstruktory a destruktory modulů;
- ModuleInfo;
- lokální proměnné vlákna (TLS);
- delegáti a uzávěry;
- asociativní pole;
- sdílená a synchronizovaná data;
- hashované objekty.
Zdroj: opennet.ru
