Es posible tener un tiempo real difícil con alcance léxico?

Estaba leyendoeste pape sobre el problema de funarg, que es realmente el problema de mantener los entornos de cierres léxicos. Es un documento antiguo y no estoy seguro de si las conclusiones del autor aún se mantienen, pero él implica que, para tener un alcance léxico en lugar de dinámico, debe abandonar la pila tradicional de estilo C y, en su lugar, tener una estructura de árbol de entornos, asignados desde el montón.

¿Esto hace que sea imposible tener cierres con alcance léxico en cualquier sistema en tiempo real? En los sistemas embebidos en tiempo real, donde las latencias se miden en microsegundos, la asignación del montón normalmente está prohibida debido a la latencia no determinista que introduce.

Esto ha sido una curiosidad mía, porque hago mi pan principalmente como desarrollador de firmware donde C es el lenguaje de facto, y durante un tiempo parece que he estado usando mi poder mental para descubrir cómo forzar C para dejarme hacer cosas que vienen gratis en idiomas más sofisticados. En consecuencia, comencé a preguntarme si podría implementar un compilador de micro-lisp específicamente para sistemas basados en microcontroladores integrados en tiempo real.

Como nota al margen: últimamente he obtenido excelentes conocimientos sobre temas profundos, como cómo los cierres y los objetos son equivalentes, etc., y me asombra aún más a tipos como Stallman y Rich Hickey y Paul Graham. Implementar Lisp desde cero me parece una tarea desalentadora. Es difícil saber por dónde empezar. (Tal vez con la implementación de PG de la función de evaluación original de McCarthy, IDK). De todos modos, estoy divagando.

Respuestas a la pregunta(2)

Su respuesta a la pregunta