Architecting Neovim Extensions: Moving from Vimscript to LuaJIT
An architectural analysis of Neovim's shift from Vimscript to LuaJIT, focusing on the C-API bridge, memory boundaries, and performance verification.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
An architectural analysis of Neovim's shift from Vimscript to LuaJIT, focusing on the C-API bridge, memory boundaries, and performance verification.
An analysis of the Neovim Lua API architecture, exploring the C-to-Lua bridge, trust boundaries, and the embedded LuaJIT VM.
Explore the architecture of Neovim's C-to-Lua bridge, detailing how the dispatcher manages the boundary between high-performance core operations and flexible plugin extensibility.
Stale FFI type specialization after reloading a LuaJIT module I am working with LuaJIT's FFI and have run into a design question around type-specialization caching. When a module is reloaded via require (for example after redefining a C struct layout), the recorded type specialization appears to persist, so conversions may still follow the old struct layout.