Love it. Use case is difficult to grasp at first, but seems to be somewhere less powerful than LuaJIT, but with typing; and more powerful than Typed Lua, but with the same typing?<p>> Lua is perfect as a small embeddable dynamic language so why a derivative? Ravi extends Lua with static typing for improved performance when JIT compilation is enabled.<p>> There are other attempts to add static typing to Lua - e.g. Typed Lua but these efforts are mostly about adding static type checks in the language while leaving the VM unmodified.<p>> Of course there is the fantastic LuaJIT implementation. Ravi has a different goal compared to LuaJIT. Ravi prioritizes ease of maintenance and support, language safety, and compatibility with Lua 5.3, over maximum performance.
Love it but don't quite get it.<p>Lua only has 5 "data" types: nil, bool, number, string, and table. There is also "userdata" (defined in C)<p>Would this improve performance for functions that take in the non-table types? Or does it provide some mechanism for structured data besides tables?<p>I have a hard time believing there are many performance gains to be had for the few functions that take in only native types. I suppose compiling those could have major performance improvements in a few tight-loop use-cases?
it's based off MIR, does it have something to do with <a href="https://mlir.llvm.org/" rel="nofollow">https://mlir.llvm.org/</a> ?<p>for typed lua, there is a newer typescript-alike effort <a href="https://github.com/teal-language/tl">https://github.com/teal-language/tl</a> than the mentioned one at <a href="https://github.com/andremm/typedlua">https://github.com/andremm/typedlua</a>