msa*_*ese 7 lua programming-languages
我在terralang网站上阅读关于terra语言的内容
"一种新的低级系统编程语言,旨在与Lua编程语言无缝互操作......"
Zach DeVito(主要作者)写了关于terra的使用:
一种具有高性能扩展的脚本语言.....
用于构建语言的嵌入式JIT编译器.....
一个独立的低级语言....
但是(可能是我的错)我不明白土地是否是:
有人可以帮助我更好地了解terralang项目的进展情况吗?
谢谢
但是(可能是我的错)我不明白terra是否是:luaJit的竞争对手
它不是.它建立在LuaJIT和LLVM之上.LuaJIT由Mike Pall编写,LLVM由Apple和社区编写.它可以做两件事.
1)它为您的Lua代码添加了额外的语言语法(称为Terra).通过这种方式,您可以轻松地将Lua代码与硬核低级代码混合使用.
2)它允许您在运行时生成快速代码.如果您想创建新语言,编译器或生成快速机器代码而没有通常与此相关的所有工作,那就太棒了.
一个更好的系统来与c库接口
是和否如果你想要做的就是从Lua调用现有的C或其他本地库,我建议按原样使用LuaJIT.Mike Pall在这方面做得非常出色,很多C集成魔术来自LuaJITs FFI.但是如果你需要创建与你的Lua程序混合在一起的新"C like"代码,Terra很不错.您有一个动态语言/状态语言混合.
使用llvm比luaJit更好的东西
不,Lua代码仍然使用LuaJIT进行评估,Terra代码使用LLVM.
Terra很棒,我真的可以推荐它.