Terra语言和Lua

7
我在terralang网站上阅读了有关Terra语言的内容,它是一种新的低级系统编程语言,旨在与Lua编程语言无缝互操作...... Zach DeVito(主要作者)谈到了terra的用途:
一个带有高性能扩展的脚本语言......
一个用于构建语言的嵌入式JIT编译器......
一个独立的低级语言......
但是(也许是我的错),我不明白terra是:
1.与luaJit竞争的产品
2.与c库接口的更好系统
3.使用llvm比luaJit更好的东西
可以有人帮助我更好地理解terralang项目吗?
谢谢

1
这个问题似乎不适合在此讨论,更适合在 [programmers.se] 上进行。 - hjpotter92
@hjpotter92,谢谢,我已经在程序员论坛上发布了这个问题。 - msalese
1个回答

9
但是(可能是我的问题),我不确定Terra是否是LuaJIT的竞争对手。
不是。它是建立在LuaJIT和LLVM之上的。LuaJIT由Mike Pall编写,LLVM由Apple和社区编写。它可以做两件事。
1)它添加了额外的语言语法(称为Terra)到您的Lua代码中。通过这种方式,您可以轻松地将Lua代码与硬核低级别代码混合使用。
2)它允许您在运行时生成快速的代码。如果您想创建新语言、编译器或生成快速的机器码而不需要通常与此相关的所有工作,则非常适用。
一个更好的系统来与C库交互。
是和不是。如果您只想从Lua调用现有的C或其他本地库,我建议直接使用LuaJIT。Mike Pall在这方面做得非常出色,许多C集成魔术都来自于LuaJIT的FFI。但是,如果您需要创建新的“类似C”的代码并将其与Lua程序混合在一起,则Terra很好。您拥有动态语言/状态语言混合体。
比luaJit更好的使用llvm。
不是,Lua代码仍然使用LuaJIT进行评估,而Terra代码使用LLVM。
总结
Terra非常棒,我真的可以推荐它。

要找到一种比Terra更简单的调用C函数的脚本语言,我可能会感到很困难。只需要一行语句来包含C头文件就足够了。 https://terralang.org/getting-started.html#using-c-functions - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接