Teal (https://teal-language.org/book/fonts/fonts.css) (index.html#about) about | (index.html#playground) play | (index.html#download) download | (index.html#documentation) docs | (index.html#community) community The Teal programming language About Teal Teal is a statically-typed dialect of (https://www.lua.org) Lua . It extends Lua with type annotations, allowing you to specify arrays, maps and records, as well as interfaces, union types and generics. It aims to fill a niche similar to that of TypeScript in the JavaScript world, but adhering to Lua's spirit of minimalism, portability and embeddability. Is it implemented as a compiler, (https://github.com/teal-language/tl) tl , which compiles .tl source code into .lua files. A taste of Teal Here is a quick taste of what Teal code looks like: local function add(a: number , b: number ): number return a + b end local s = add(1, 2) print(s) ...or check out this page's source code! You can also play with the Teal compiler right from your browser, using the (https://teal-playground.netlify.app/) Teal Playground . Install Teal If you're using (https://luarocks.org) LuaRocks , you can install the compiler with: luarocks install tl You can also find (https://github.com/teal-language/tl/releases) pre-compiled binaries for Linux and Windows. To build larger projects, you probably won't want to run tl on each file individually. We recommend using (https://github.com/teal-language/cyan) Cyan , the build tool designed for Teal. You can also install (https://github.com/teal-language/vscode-teal/) vscode-teal for Visual Studio Code integration, (https://github.com/teal-language/teal-language-server/) teal-language-server for NeoVim and others, and (https://github.com/teal-language/awesome-teal) more . Documentation You can browse the Teal documentation (https://teal-language.org/book/latest/index.html) online . Here are some recorded talks discussing the history of Lua and types, outlining the motivations behind Teal and talking about the project's progress: (https://www.youtube.com/watch?v=OPyBQRndLUk) Minimalism versus types (2019) (https://www.youtube.com/watch?v=HfnjUCRzRKU) Minimalistic typed Lua is here (2020) (https://www.youtube.com/watch?v=OqXbnaDR8QY) What's next for Teal (2021) (https://www.youtube.com/watch?v=68F5Qs91izQ) Five years of Teal: minimalism versus growth in language design (2024) (https://www.youtube.com/watch?v=Uq_8bckDxaU) What should Teal be? - musings on FOSS project directions (2025) Community Development happens on (https://github.com/teal-language) GitHub . We have a (https://github.com/teal-language/tl/discussions) community forum hosted by GitHub. You can also chat with us via Matrix at (https://matrix.to/#/#teal-language_community:gitter.im) #teal-language_community:gitter.im . Teal is a project started by (https://hisham.hm) Hisham Muhammad , developed by a (https://github.com/teal-language/tl/graphs/contributors) growing number of contributors and is written using Teal itself! License Teal is free and open source software. Its (https://github.com/teal-language/tl/blob/master/LICENSE) license is MIT, the same as Lua.