Terra lang is pretty cool but Pallene and Terra are significantly different. Terra is a language built for multi-stage programming - basically like lisp quotes where you're jumping between something like a compile time context and a runtime context. It's embedded in Lua, and uses Lua as the compile-time language IIRC. Pallene is strictly compile-time. It is a Lua-like language with type hints that can compile to Lua or to C code that is optimized for use in Lua's C API. So if you had some Lua module that was frequently calling to C for whatever reason, all those calls come with a performance tax. Pallene aims to lessen that particular penalty. They have a white paper where it compares several algorithms with stock PUC-Rio Lua, LuaJIT and pallene against each other and it's pretty interesting where each tends to shine over the others.
Reminds me of https://terralang.org/
Terra lang is pretty cool but Pallene and Terra are significantly different. Terra is a language built for multi-stage programming - basically like lisp quotes where you're jumping between something like a compile time context and a runtime context. It's embedded in Lua, and uses Lua as the compile-time language IIRC. Pallene is strictly compile-time. It is a Lua-like language with type hints that can compile to Lua or to C code that is optimized for use in Lua's C API. So if you had some Lua module that was frequently calling to C for whatever reason, all those calls come with a performance tax. Pallene aims to lessen that particular penalty. They have a white paper where it compares several algorithms with stock PUC-Rio Lua, LuaJIT and pallene against each other and it's pretty interesting where each tends to shine over the others.
wonder if they're trying to upstream the changes to lua, or if the lua folks don't want to expose those c api functions for general consumption.