GNU Guile-2.2 will be based on brand new backend, CPS(continuation passing style) as the most significant IR, and a RegisterVM. These are the prerequisite for the final AOT compiler.
The old Guile-Lua is old for compatible with the brand new RegisterVM, moreover, it uses LL(1) which is painful for hacking. I've rewritten the parser with LALR and all the intermediate part before transfer it to Tree-IL which is another iR before CPS. Besides, I'm trying to add type-inferencing and partial-evaluation for Lua specific optimizing. Although there's partial-evaluator in Guile backend, it's a generic one for all the front-end languages.
It's not an easy work, but when it's done, Lua code can interact with Scheme modules, because they are in the same IR after compilation.
This project is one of its kind!