mirror of https://github.com/bjc/prosody
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
8 months ago | |
|---|---|---|
| .. | ||
| prosody | 8 months ago | |
| README.md | 3 years ago | |
| module.d.tl | 2 years ago | |
README.md
Teal definitions and sources
This directory contains files written in the
Teal language, a typed dialect of
Lua. There are two kinds of files, .tl Teal source code and .d.tl
type definitions files for modules written in Lua. The later allows
writing type-aware Teal using regular Lua or C code.
Setup
The Teal compiler can be installed from LuaRocks using:
luarocks install tl
Checking types
tl check teal-src/prosody/util/example.tl
Some editors and IDEs also have support, see text editor support
Compiling to Lua
GNUmakefile contains a rule for building Lua files from Teal sources.
It also applies LuaFormat to
make the resulting code more readable, albeit this makes the line
numbers no longer match the original Teal source. Sometimes minor
luacheck issues remain, such as types being represented as unused
tables, which can be removed.
sensible-editor teal-src/prosody/util/example.tl
# Write some code, remember to run tl check
make util/example.lua
sensible-editor util/example.lua
# Apply any minor tweaks that may be needed
Files of note
module.d.tl- Describes the module environment.