clx compila Lua a código nativo y elimina la VM del camino de ejecución
Trials and Tribulations of Native Lua Compilation
clx analiza código Lua 5.5 y genera C++ que luego compila con Clang, GCC o MSVC, produciendo ejecutables nativos que no interpretan bytecode. Mantiene un runtime propio para tablas, corrutinas, recolección de basura y metatablas, y conserva require() y los módulos nativos. Un modo --dynamic permite incrustar una VM real cuando se necesita cargar código en tiempo de ejecución. El autor explica que lo difícil no es generar código para if o while, sino preservar la semántica completa de Lua.
Cada vez que pensaba que un subsistema estaba terminado, otro programa en Lua encontraba un caso límite que no había considerado.