Terra lang和Lua

时间:2014-06-05 09:08:45

标签: lua programming-languages

我正在terralang网站上阅读有关土地语言的内容

  

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

Zach DeVito(主要作者)写了关于土地使用的文章:

  

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

     

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

     

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

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

  1. a luaJit竞争对手
  2. 与c库接口的更好系统
  3. 使用llvm
  4. 比luaJit更好的东西

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

    谢谢

1 个答案:

答案 0 :(得分:9)

  
    

但是(可能是我的错)我不明白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更好的东西   

不,仍使用LuaJIT评估Lua代码,Terra代码使用LLVM。

摘要

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