Terra – a low-level counterpart to Lua
31–40 of 49 posts
Re: Terra – a low-level counterpart to Lua
#32Re: Terra – a low-level counterpart to Lua
#33 -- lua function
function foo(a,b)
...
end
-- terra function
function foo(a:int, b:int)
...
endRe: Terra – a low-level counterpart to Lua
#34Earlier quoted context omitted.
Lower level, so more control for advanced programs performance-wise.
And what it may give us at lower level, comparing to LuaJIT + ffi + ljsyscall?
This kind of highly problem-specific optimal code-building is out of scope for any kind of JIT, including luaJIT.
Have a look at Dan Amelang's jitblt:
Re: Terra – a low-level counterpart to Lua
#35As a speaker about Lua, this is awesome news. Yet, it also feels kinda pointless, most Lua use right now is in embedded interpreters in other software, and Terra would be hard to use, since most projects probably won't incorporate it at all.
Re: Terra – a low-level counterpart to Lua
#36Very interesting. Is this "new" language in direct competition with Go ?
Re: Terra – a low-level counterpart to Lua
#37At first I was confused because the pitch seemed to be mainly about writing fast code with Lua. If that's what they're going for, then a comparison with LuaJIT is sorely missing. But it appears that what they're actually pitching is a simple and flexible code generation environment . It's a way to generate statically-typed code at runtime that targets LLVM but looks nicer than this: http://llvm.org/releases/2.6/docs/…
Author here. You're right that we designed Terra primarily to be an enviornment for generate low-level code. In particular, we want to be able to easily design and prototype DSLs and auto-tuners for high-performance programming applications. We explain this use-case in more detail in our upcoming PLDI paper ( http://terralang.org/pldi071-devito.pdf ). Since we are primarily using it for dynamic code generation, I hav…
Re: Terra – a low-level counterpart to Lua
#38Re: Terra – a low-level counterpart to Lua
#39Does it really need that "terra" keyword? You could use the type annotation to differentiate: -- lua function function foo(a,b) ... end -- terra function function foo(a:int, b:int) ... end
Re: Terra – a low-level counterpart to Lua
#40At first I was confused because the pitch seemed to be mainly about writing fast code with Lua. If that's what they're going for, then a comparison with LuaJIT is sorely missing. But it appears that what they're actually pitching is a simple and flexible code generation environment . It's a way to generate statically-typed code at runtime that targets LLVM but looks nicer than this: http://llvm.org/releases/2.6/docs/…
Author here. You're right that we designed Terra primarily to be an enviornment for generate low-level code. In particular, we want to be able to easily design and prototype DSLs and auto-tuners for high-performance programming applications. We explain this use-case in more detail in our upcoming PLDI paper ( http://terralang.org/pldi071-devito.pdf ). Since we are primarily using it for dynamic code generation, I hav…