Software /
code /
prosody
Annotate
teal-src/README.md @ 13270:14bbfb2cc8dd default tip
lint: Teach luacheck about module:once
Silence warning for using this introduced in 9c62ffbdf2ae
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 15 Oct 2023 16:43:14 +0200 |
parent | 13005:1167aaf1aa1f |
rev | line source |
---|---|
13002
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 # Teal definitions and sources |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 This directory contains files written in the |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 [Teal](https://github.com/teal-language/tl) language, a typed dialect of |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 Lua. There are two kinds of files, `.tl` Teal source code and `.d.tl` |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 type definitions files for modules written in Lua. The later allows |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 writing type-aware Teal using regular Lua or C code. |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 ## Setup |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 The Teal compiler can be installed from LuaRocks using: |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 |
13004
47efa93ea859
teal-src/README: Tweak markdown syntax
Kim Alvefur <zash@zash.se>
parents:
13002
diff
changeset
|
13 ```bash |
47efa93ea859
teal-src/README: Tweak markdown syntax
Kim Alvefur <zash@zash.se>
parents:
13002
diff
changeset
|
14 luarocks install tl |
47efa93ea859
teal-src/README: Tweak markdown syntax
Kim Alvefur <zash@zash.se>
parents:
13002
diff
changeset
|
15 ``` |
13002
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 ## Checking types |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 ```bash |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 tl check teal-src/prosody/util/example.tl |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 ``` |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 Some editors and IDEs also have support, see [text editor |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 support](https://github.com/teal-language/tl#text-editor-support) |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 |
13005
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
27 ## Compiling to Lua |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
28 |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
29 `GNUmakefile` contains a rule for building Lua files from Teal sources. |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
30 It also applies [LuaFormat](https://github.com/Koihik/LuaFormatter) to |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
31 make the resulting code more readable, albeit this makes the line |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
32 numbers no longer match the original Teal source. Sometimes minor |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
33 `luacheck` issues remain, such as types being represented as unused |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
34 tables, which can be removed. |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
35 |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
36 ```bash |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
37 sensible-editor teal-src/prosody/util/example.tl |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
38 # Write some code, remember to run tl check |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
39 make util/example.lua |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
40 sensible-editor util/example.lua |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
41 # Apply any minor tweaks that may be needed |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
42 ``` |
1167aaf1aa1f
teal-src/README: Words on Compiling to Lua
Kim Alvefur <zash@zash.se>
parents:
13004
diff
changeset
|
43 |
13002
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
44 ## Files of note |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
45 |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
46 `module.d.tl` |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
47 : Describes the module environment. |
d8e2b995f975
teal-src: Add a README with a few pointers to get started
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
48 |