Teal 是 Lua 的一种静态类型方言。它通过类型注解扩展了 Lua,使开发者能够指定数组、映射和记录,以及接口、联合类型和泛型。该项目旨在填补与 JavaScript 世界中 TypeScript 类似的空白,同时坚持 Lua 的极简、可移植和可嵌入的精神。
Teal 以编译器 tl 的形式实现,它将 .tl 源代码编译为 .lua 文件。一个典型示例是带类型的函数,例如 local function add(a: number, b: number): number,它返回 a + b。开发者还可以直接在浏览器中通过 Teal Playground 体验该语言。
该编译器可以通过 LuaRocks 使用 luarocks install tl 安装,并且为 Linux 和 Windows 提供了预编译的二进制文件。对于较大的项目,文档推荐使用 Cyan,这是一款专为 Teal 设计的构建工具。Visual Studio Code 可通过 vscode-teal 获得编辑器集成,Neovim 及其他编辑器则可通过 teal-language-server 使用。
Teal 由 Hisham Muhammad 发起,并由一个不断壮大的贡献者群体开发,项目本身也是用 Teal 编写的。开发工作在 GitHub 上进行,讨论可在社区论坛和 Matrix 上参与。Teal 是免费的开源软件,采用 MIT 许可证发布,与 Lua 使用相同的许可证。
来源: Hacker News · 由HeadlinesBriefing整理摘要