Terra语言和Lua

我在 terralang 网站上阅读有关 terra 语言的文章,其中写道:

“一个新的底层系统编程语言,旨在无缝地与 Lua 编程语言进行交互……”

主要作者 Zach DeVito 写到 terra 的用途:

具有高性能扩展的脚本语言……

用于构建语言的嵌入式 JIT 编译器……

独立的低级语言……

但是(也许是我的错),我不清楚 terra 是:

  1. 与 LuaJIT 竞争者
  2. 与 C 库接口更好的系统
  3. 比使用 LLVM 的 LuaJIT 更好的东西

有人能帮助我更好地理解 terralang 项目吗?

谢谢。

点赞
用户820956
用户820956

但是(可能是我的错误),我不明白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非常好,我真的很推荐它。

2015-04-08 19:44:40