Teal is een programmeertaal die fungeert als een statisch getypeerde uitbreiding van Lua, vergelijkbaar met hoe TypeScript zich verhoudt tot JavaScript. De taal introduceert type-annotaties voor onder andere arrays, maps, records en generics, terwijl het minimalisme en de draagbaarheid van Lua behouden blijven.
De belangrijkste aspecten van Teal zijn:
- Compiler & Tooling: De taal maakt gebruik van de
tl compiler om .tl-broncode om te zetten naar .lua-bestanden. Voor grotere projecten is er de buildtool Cyan beschikbaar, en voor editors zijn er plugins voor Visual Studio Code en een language server voor NeoVim.
- Installatie: Teal kan worden geïnstalleerd via LuaRocks of via vooraf gecompileerde binaries voor Linux en Windows.
- Ontwikkeling: Het project is gestart door Hisham Muhammad, is open source onder de MIT-licentie en is opmerkelijk genoeg geschreven in Teal zelf.
De programmeertaal Teal
Over Teal
Het streeft ernaar een niche te vullen die vergelijkbaar is met die van TypeScript in de wereld van JavaScript, maar met behoud van de geest van minimalisme, draagbaarheid en inbedbaarheid die kenmerkend is voor Lua. De taal is geïmplementeerd als een compiler, tl, die .tl-broncode compileert naar .lua-bestanden.
Een voorproefje van Teal
Hier is een kort voorbeeld van hoe Teal-code eruitziet:
local function add(a: number, b: number): number
return a + b
end
local s = add(1, 2)
print(s)
Je kunt ook de broncode van deze pagina bekijken of de Teal-compiler direct vanuit je browser uitproberen via de Teal Playground.
Teal installeren
Als je LuaRocks gebruikt, kun je de compiler installeren met: luarocks install tl
Er zijn ook vooraf gecompileerde binaries beschikbaar voor Linux en Windows.
Voor het bouwen van grotere projecten is het aanbevolen om niet voor elk bestand afzonderlijk tl uit te voeren. We raden daarom aan om Cyan te gebruiken, de buildtool die speciaal voor Teal is ontworpen.
Daarnaast kun je de volgende tools installeren:
vscode-teal voor integratie met Visual Studio Code.
teal-language-server voor NeoVim en andere editors.
Documentatie
Je kunt de Teal-documentatie online raadplegen.
Daarnaast zijn er diverse opgenomen presentaties beschikbaar waarin de geschiedenis van Lua en types wordt besproken, de motivaties achter Teal worden uiteengezet en de voortgang van het project wordt behandeld:
- Minimalism versus types (2019)
- Minimalistic typed Lua is here (2020)
- What's next for Teal (2021)
- Five years of Teal: minimalism versus growth in language design (2024)
- What should Teal be? - musings on FOSS project directions (2025)
Community
De ontwikkeling van Teal vindt plaats op GitHub, waar ook het community-forum wordt gehost. Je kunt daarnaast chatten met de community via Matrix op #teal-language_community:gitter.im.
Teal is een project dat is gestart door Hisham Muhammad, wordt ontwikkeld door een groeiend aantal bijdragers en is geschreven in Teal zelf.
Licentie
Teal is gratis en opensourcesoftware. De licentie is MIT, dezelfde licentie als die van Lua.
De programmeertaal Teal
Over Teal
Het streeft ernaar een niche te vullen die vergelijkbaar is met die van TypeScript in de wereld van JavaScript, maar met behoud van de geest van minimalisme, draagbaarheid en inbedbaarheid die kenmerkend is voor Lua. De taal is geïmplementeerd als een compiler, tl, die .tl-broncode compileert naar .lua-bestanden.
Een voorproefje van Teal
Hier is een kort voorbeeld van hoe Teal-code eruitziet:
local function add(a: number, b: number): number
return a + b
end
local s = add(1, 2)
print(s)
Je kunt ook de broncode van deze pagina bekijken of de Teal-compiler direct vanuit je browser uitproberen via de Teal Playground.
Teal installeren
Als je LuaRocks gebruikt, kun je de compiler installeren met: luarocks install tl
Er zijn ook vooraf gecompileerde binaries beschikbaar voor Linux en Windows.
Voor het bouwen van grotere projecten is het aanbevolen om niet voor elk bestand afzonderlijk tl uit te voeren. We raden daarom aan om Cyan te gebruiken, de buildtool die speciaal voor Teal is ontworpen.
Daarnaast kun je de volgende tools installeren:
vscode-teal voor integratie met Visual Studio Code.
teal-language-server voor NeoVim en andere editors.
Documentatie
Je kunt de Teal-documentatie online raadplegen.
Daarnaast zijn er diverse opgenomen presentaties beschikbaar waarin de geschiedenis van Lua en types wordt besproken, de motivaties achter Teal worden uiteengezet en de voortgang van het project wordt behandeld:
- Minimalism versus types (2019)
- Minimalistic typed Lua is here (2020)
- What's next for Teal (2021)
- Five years of Teal: minimalism versus growth in language design (2024)
- What should Teal be? - musings on FOSS project directions (2025)
Community
De ontwikkeling van Teal vindt plaats op GitHub, waar ook het community-forum wordt gehost. Je kunt daarnaast chatten met de community via Matrix op #teal-language_community:gitter.im.
Teal is een project dat is gestart door Hisham Muhammad, wordt ontwikkeld door een groeiend aantal bijdragers en is geschreven in Teal zelf.
Licentie
Teal is gratis en opensourcesoftware. De licentie is MIT, dezelfde licentie als die van Lua.