Dylan Graham presentó un runtime ligero LWDR para la programación en el lenguaje D de microcontroladores equipados con sistemas operativos en tiempo real (RTOS). La versión actual está enfocada en microcontroladores ARM Cortex-M. El desarrollo no busca cubrir todas las capacidades del D, pero proporciona herramientas básicas. La asignación de memoria se realiza manualmente (new / delete), no se implementa un recolector de basura, pero hay varios hooks para utilizar las herramientas de RTOS.
La versión presentada soporta:
- asignación y destrucción de instancias de clases y montones para estructuras;
- invariantes;
- asserts;
- contratos, herramientas básicas de RTTI (gracias a las herramientas de Typeinfo);
- interfaces;
- funciones virtuales;
- clases abstractas y estáticas;
- arreglos estáticos;
- asignación, liberación y cambio de tamaño de arreglos dinámicos;
- agregar elementos a un arreglo dinámico y concatenar arreglos dinámicos.
En estado de características experimentales: excepciones y Throwables (ya que requieren soporte del recolector de basura).
No implementados:
- constructores y destructores de módulos;
- ModuleInfo;
- variables locales de hilo (TLS);
- delegados y cierres;
- arreglos asociativos;
- datos compartidos y sincronizados;
- objetos hash.
Fuente: opennet.ru
