Hacker News new | ask | show | jobs
by hugomg 2821 days ago
Terra uses Lua as a metaprogramming language, while Pallene/Titan use Lua as a scripting language.

Terra is designed for high performance numerical computing. As you mentioned, it has no garbage collector, uses C-like datatypes and its executables are completely detached from the Lua runtime.

Pallene, on the other hand, is all about being able to seamlessly interoperate with Lua at run-time. It is possible to directly manipulate Lua tables and functions from a Pallene program. From the point of view of Lua, Pallene modules can be loaded as a C extension module would, except that Pallene is designed to integrate even better with Lua (sharing its garbage collector and having better C API performance).

As the other commenter pointed out, we are currently compiling down to C. However, it is possible that we could switch to LLVM IR in the future.