https://github.com/teal-language/tl Skip to content Sign up * Why GitHub? Features - + Mobile - + Actions - + Codespaces - + Packages - + Security - + Code review - + Project management - + Integrations - + GitHub Sponsors - + Customer stories- + Security - * Team * Enterprise * Explore + Explore GitHub - Learn and contribute + Topics - + Collections - + Trending - + Learning Lab - + Open source guides - Connect with others + The ReadME Project - + Events - + Community forum - + GitHub Education - + GitHub Stars program - * Marketplace * Pricing Plans - + Compare plans - + Contact Sales - + Nonprofit - + Education - [ ] [search-key] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} teal-language / tl * Notifications * Star 682 * Fork 43 The compiler for Teal, a typed dialect of Lua MIT License 682 stars 43 forks Star Notifications * Code * Issues 48 * Pull requests 7 * Discussions * Actions * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Security * Insights master Switch branches/tags [ ] Branches Tags Nothing to show {{ refName }} default View all branches Nothing to show {{ refName }} default View all tags 9 branches 21 tags Go to file Code Clone HTTPS GitHub CLI [https://github.com/t] Use Git or checkout with SVN using the web URL. [gh repo clone teal-l] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching Xcode If nothing happens, download Xcode and try again. Go back Launching Visual Studio If nothing happens, download the GitHub extension for Visual Studio and try again. Go back Latest commit @hishamhm hishamhm apply bidirectional inference on assignments ... f59d6e0 Feb 25, 2021 apply bidirectional inference on assignments f59d6e0 Git stats * 770 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github/workflows actions: remove echo (#343) Jan 18, 2021 docs docs: fix syntax error in generic record example (#368) Jan 29, 2021 spec apply bidirectional inference on assignments Feb 25, 2021 .busted tests: disable auto-insulate in busted Jan 23, 2021 .editorconfig Rework tests to not use lfs.link + refactor temp file creation Dec 31, 2020 .gitattributes Add .gitattributes file for better syntax highlighting on GitHub Apr 25, 2020 .gitignore Rework tests to not use lfs.link + refactor temp file creation Dec 31, 2020 .travis.yml CI: build on Lua 5.4 as well (#278) Dec 16, 2020 CHANGELOG.md Prepare changelog for Teal 0.11.2 Feb 14, 2021 CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Apr 24, 2020 LICENSE Add a license file Mar 4, 2019 Makefile Makefile: add TESTFLAGS env to allow for testing a subset Feb 19, 2021 README.md docs: add FOSDEM 2021 video Feb 15, 2021 tl tl.tl: move preload_modules into init_env (#401) Feb 22, 2021 tl-dev-1.rockspec tl: add build options and tl build command Aug 7, 2020 tl.lua apply bidirectional inference on assignments Feb 25, 2021 tl.tl apply bidirectional inference on assignments Feb 25, 2021 View code README.md Teal Build Status Join the chat at https://gitter.im/dotnet/coreclr This is the repository of tl, the compiler for Teal, a typed dialect of Lua. The core compiler has no dependencies and is implemented as a single tl.lua file which you can load into your projects. Running tl.loader () will add Teal support to your package loader, meaning that require () will be able to run .tl files. Introduction Here are videos of talks given at FOSDEM 2019, 2020 and 2021 which discuss the history of Lua and types, outline the motivations behind Teal and talk about the project's progress: * Minimalism versus types (2019) * Minimalistic typed Lua is here (2020) * What's Next for Teal (2021) Installing Via LuaRocks Install Lua and LuaRocks, then run: luarocks install tl This should put a tl command in your $PATH (run eval $(luarocks path) if the LuaRocks-installed binaries are not in your $PATH) Binaries Alternatively, you can find pre-compiled binaries for Linux x86_64 and Windows x86_64 at the releases page. The packages contain a stand-alone executable that can run Teal programs (without the need of a separate Lua installation) and also compile them to Lua. Try it from your browser You can give Teal a try directly from your browser with the Teal Playground! It compiles Teal into Lua using Fengari, a Lua VM implemented in JavaScript, so everything runs on the client. Running Once tl is in your path, there are a few subcommands: * tl run script.tl will run a Teal script. * tl check module.tl will type check a Teal module, report any errors and quit. * tl gen module.tl will check for syntax errors and generate a module.lua file in plain Lua with all type annotations stripped. * tl build will compile your project via the rules defined in tlconfig.lua. * tl warnings will list all warnings the compiler can generate. Loading Teal code from Lua You can either pre-compile your .tl files into .lua, or you can add the tl.lua module into your project and activate the Teal package loader: local tl = require("tl") tl.loader() Once the package loader is activated, your require() calls can load and compile .tl files on-the-fly. Documentation You can learn more about programming with Teal in the tutorial. Type definitions We have a collaborative repository for type definitions of Lua libraries at https://github.com/teal-language/teal-types -- check it out and make your contribution! Text editor support Teal language support is currently available for Vim, Visual Studio Code and lite with linter support. Community * Join the chat on Gitter! + You can also join via Matrix at # teal-language_community:gitter.im Teal is a project started by Hisham Muhammad, developed by a growing number of contributors and is written using Teal itself! License License is MIT, the same as Lua. About The compiler for Teal, a typed dialect of Lua Topics lua compiler type-checking teal Resources Readme License MIT License Releases 21 Teal 0.11.2 Latest Feb 14, 2021 + 20 releases Packages 0 No packages published Contributors 22 * @hishamhm * @euclidianAce * @pdesaulniers * @darrenjennings * @kipras * @kikito * @yjhmelody * @catwell * @25A0 * @lenscas * @xvxx + 11 contributors Languages * Lua 100.0% * (c) 2021 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.