Dylan Graham tutvustas kerget LWDR runtime'i D-keeles programmeerimiseks reaalajas operatsioonisüsteemiga (RTOS) varustatud mikrokontrolleritele. Praegune versioon on suunatud ARM Cortex-M mikrokontrolleritele. Arenduse eesmärgiks ei ole kõikide D keele võimaluste täielik katmine, kuid see pakub põhivahendeid. Mäluhalduse teostamine toimub käsitsi (new / delete), prügikoguja ei ole rakendatud, kuid on saadaval mitmed RTOS-iga kasutamiseks mõeldud hook'id.
Esitatud versioon toetab:
- klasside ja struktuuride eksemplaride eraldamist ja purustamist;
- invariandid;
- assert-od;
- lepingud, baastesmed RTTI (Typeinfo vahendite kaudu);
- liideseid;
- virtuaalsed funktsioonid;
- abstraktsed ja staatilised klassid;
- staatilised massiivid;
- dünaamiliste massiivide eraldamine, vabastamine ja suuruse muutmine;
- dünaamilise massiivi elementide lisamine ja dünaamiliste massiivide ühendamine.
Eksperimentaalsete võimaluste staatuses: erandid ja Throwables (kuna nõuavad prügikoguja tugi).
Ei ole rakendatud:
- mooduli konstruktorid ja destruktorid;
- ModuleInfo;
- voo kohalikud muutujad (TLS);
- delegaadid ja sulgud;
- assotsiatiivsed massiivid;
- jagatud ja sünkroniseeritud andmed;
- hashitud objektid.
Allikas: opennet.ru
