Annotate

teal-src/README.md @ 13176:0d1cd3185299

mod_http_file_share: Put 'expires' back, thought it was unused Removed in 536055476912 because it was not used anywhere else in the file, but per the documentation it is meant to inform external upload services of the expiry time of the upload itself.
author Kim Alvefur <zash@zash.se>
date Sun, 02 Jul 2023 14:31:00 +0200
parent 13005:1167aaf1aa1f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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