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 向けの事前ビルド済みバイナリも提供されています。大規模なプロジェクトには、ドキュメントで Teal 向けに設計されたビルドツール Cyan が推奨されています。エディタ統合としては、Visual Studio Code 向けの vscode-teal、Neovim などその他のエディタ向けの teal-language-server が利用可能です。
Teal は Hisham Muhammad によって始められ、拡大を続ける貢献者グループによって開発されています。プロジェクト自体も Teal で書かれています。開発は GitHub で行われ、議論はコミュニティフォーラムおよび Matrix で行われています。Teal は Lua と同じ MIT ライセンスのもとで公開された、無償のオープンソースソフトウェアです。
出典: Hacker News · 要約:HeadlinesBriefing