Teal(一种Lua的方言)的编译器

2021-02-25 18:41:15

这是tl的存储库,tl是Teal(一种Lua的方言)的编译器。

核心编译器没有依赖关系,并实现为单个tl.lua文件,您可以将其加载到项目中。运行tl.loader()将为您的程序包加载器添加Teal支持,这意味着require()将能够运行.tl文件。

以下是在FOSDEM 2019、2020和2021上发表的演讲视频,讨论了Lua的历史和类型,概述了Teal背后的动机并讨论了该项目的进展:

这应该在$ PATH中放入tl命令(如果LuaRocks安装的二进制文件不在$ PATH中,请运行eval $(luarocks路径))

另外,您可以在发行页面上找到针对Linux x86_64和Windowsx86_64的预编译二进制文件。这些软件包包含一个独立的可执行文件,可以运行Teal程序(不需要单独安装Lua)并将它们编译为Lua。

您可以使用TealPlayground直接在浏览器中尝试Teal!它使用Fengari(一种在JavaScript中实现的Lua VM)将Teal编译为Lua,因此一切都在客户端上运行。

tl gen module.tl将检查语法错误,并在纯Lua中生成所有类型注释都被剥离的module.lua文件。

您可以将.tl文件预编译为.lua,也可以将tl.lua模块添加到项目中并激活Teal软件包加载器: 激活包加载器后,您的require()调用即可即时加载和编译.tl文件。 我们在https://github.com/teal-language/teal-types上提供了一个用于Lua库类型定义的协作存储库-进行检查并做出贡献! 目前,Teal语言支持可用于Vim,Visual Studio Code和linter支持的lite。 Teal是由Hisham Muhammad发起的一个项目,由越来越多的贡献者开发,并使用Teal本身编写!