HeadlinesBriefing HeadlinesBriefing.com

Teal: статически типизированный диалект Lua

Hacker News •
×

Teal — это статически типизированный диалект Lua. Он расширяет Lua аннотациями типов, позволяя разработчикам задавать массивы, словари и записи, а также интерфейсы, типы-объединения и обобщения. Проект стремится занять нишу, схожую с той, которую TypeScript занимает в мире JavaScript, при этом сохраняя дух минимализма, переносимости и встраиваемости, присущий 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