Lower level, so more control for advanced programs performance-wise.
Is this aiming to be a semi-replacement for C then? I guess I'm a bit confused as to where it fits in ... Lua is already tiny and performant. We're considering it for some embedded projects soon as a extensibility hook.
It's aimed at people who would like to design a very performant DSL. Roughly speaking, your Lua code is the compiler, your Terra code is the runtime. Because the Lua code can metaprogram the Terra code, it's possible to perform dynamic tuning of Terra even while the program is running.
And what it may give us at lower level, comparing to LuaJIT + ffi + ljsyscall?
Code generators can, for some problems, write code that's faster than hand-written code simply because the sheer complexity of the result is pretty much impossible to handle "in yer brain".
This kind of highly problem-specific optimal code-building is out of scope for any kind of JIT, including luaJIT.