Terra (programming language)

Terra (programming language)
软件描述
与C/C++类似,Terra是一种静态类型、编译型语言,具有手动内存管理。但与C/C++不同的是,Terra从一开始就被设计为可由Lua进行元编程。
官方网站
访问软件的官方网站了解更多信息
terralang.org
安全链接HTTPS
什么是 Terra (programming language)?
与C/C++一样,Terra是一种静态类型、编译型语言,采用手动内存管理。但与C/C++不同的是,Terra从设计之初就旨在通过Lua进行元编程。
Terra的设计源于一个认识:C/C++实际上由多个“语言”构成。它有一个由操作符、控制流和函数调用组成的底层语言,而在其周围则是一个由预处理器、模板系统和结构体定义等特性混合而成的元语言。仅模板本身便是图灵完备的,并已被用于生成如Eigen这样的优化库,但在实际使用中却极为不便。
在Terra中,我们顺应了提升C/C++元语言能力的趋势,并用一门真正的编程语言——Lua——取代了原有的元语言。
低级语言由高级脚本语言进行元编程的结合,使得其他系统难以实现的各种行为成为可能。与C/C++不同,Terra代码可以被即时编译并在Lua求值过程中交错执行,从而轻松编写依赖运行时代码生成的软件库。
