Dylan Graham apresentou um LWDR de tempo de execução leve para programar microcontroladores equipados com um sistema operacional de tempo real (RTOS) em linguagem D. A versão atual é voltada para microcontroladores ARM Cortex-M. O desenvolvimento não visa cobrir totalmente todas as capacidades de D, mas fornece ferramentas básicas. A alocação de memória é feita manualmente (novo/excluir), não há coletor de lixo, mas há vários ganchos para usar ferramentas RTOS.
A versão apresentada suporta:
- alocação e destruição de instâncias de classe e heap para estruturas;
- invariantes;
- afirma;
- contratos, ferramentas básicas de RTTI (às custas da Typeinfo);
- interfaces;
- funções virtuais;
- classes abstratas e estáticas;
- matrizes estáticas;
- alocar, liberar e redimensionar matrizes dinâmicas;
- adicionar elementos a uma matriz dinâmica e concatenar matrizes dinâmicas.
No status de recursos experimentais: exceções e Throwables (pois requerem suporte de limpeza).
Não implementado:
- construtores e destruidores de módulos;
- Informações do módulo;
- variáveis locais de thread (TLS);
- delegados e encerramentos;
- matrizes associativas;
- dados compartilhados e sincronizados;
- objetos com hash.
Fonte: opennet.ru