Dylan Graham presentó un LWDR ligero en tiempo de ejecución para programar microcontroladores equipados con un sistema operativo en tiempo real (RTOS) en lenguaje D. La versión actual está dirigida a microcontroladores ARM Cortex-M. El desarrollo no pretende cubrir completamente todas las capacidades de D, pero proporciona herramientas básicas. La asignación de memoria se realiza manualmente (nueva/eliminación), no hay recolector de basura, pero hay varios ganchos para usar las herramientas RTOS.
La versión presentada admite:
- asignación y destrucción de instancias de clase y montón para estructuras;
- invariantes;
- afirma;
- contratos, herramientas RTTI básicas (a expensas de Typeinfo);
- interfaces;
- funciones virtuales;
- clases abstractas y estáticas;
- matrices estáticas;
- asignar, liberar y cambiar el tamaño de matrices dinámicas;
- agregar elementos a una matriz dinámica y concatenar matrices dinámicas.
En el estado de características experimentales: excepciones y Throwables (ya que requieren soporte de carroñero).
No se ha implementado:
- constructores y destructores de módulos;
- Información del módulo;
- variables locales de hilo (TLS);
- delegados y clausuras;
- matrices asociativas;
- datos compartidos y sincronizados;
- objetos hash.
Fuente: opennet.ru