【问题标题】:Terra lang and LuaTerra lang 和 Lua
【发布时间】:2014-06-05 09:08:45
【问题描述】:

我在terralang 网站上阅读有关 terra 语言的信息

“一种新的低级系统编程语言,旨在 与 Lua 编程语言无缝互操作..."

Zach DeVito(主要作者)写关于 terra 的使用:

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

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

一种独立的低级语言......

但是(可能是我的错)我不明白 terra 是不是:

  1. luaJit 的竞争对手
  2. 与 c 库交互的更好系统
  3. 比使用 llvm 的 luaJit 更好

有人可以帮助我更好地了解 terralang 项目的情况吗?

谢谢

【问题讨论】:

  • 这个问题似乎跑题了,更适合Software Engineering
  • @hjpotter92,谢谢我把问题贴在程序员身上

标签: lua programming-languages


【解决方案1】:

但是(可能是我的错)我不明白 terra 是否是: luaJit 的竞争对手

事实并非如此。它建立在 LuaJIT 和 LLVM 之上。 LuaJIT 由 Mike Pall 编写,LLVM 由 Apple 和社区编写。它可以做两件事。

1) 它为您的 Lua 代码添加了额外的语言语法(称为 Terra)。这样,您可以轻松地将 Lua 代码与硬核低级代码混合在一起。

2) 它允许您在运行时生成快速代码。如果您想创建新的语言、编译器或生成快速的机器代码,而不需要通常与此相关的所有工作,那就太好了。

与 c 库交互的更好系统

是和否。如果您只想从 Lua 调用现有的 C 或其他本机库,我建议按原样使用 LuaJIT。 Mike Pall 在这方面做得非常出色,很多 C 集成魔法都来自 LuaJITs FFI。但是,如果您需要创建新的“C 类”代码与您的 Lua 程序混合在一起,Terra 是不错的选择。你有一个动态语言/状态语言混合体。

使用 llvm 比 luaJit 更好

不,Lua 代码仍然使用 LuaJIT 进行评估,而 Terra 代码使用 LLVM。

总结

Terra 太棒了,我真的可以推荐它。

【讨论】:

    猜你喜欢
    • 2020-09-28
    • 2021-03-30
    • 2011-11-01
    • 1970-01-01
    • 2011-03-27
    • 1970-01-01
    • 2021-11-26
    • 2022-12-28
    • 1970-01-01
    相关资源
    最近更新 更多