The module line
You will learn
How to write the module line, which names it accepts, and where it goes.
The module line is the keyword module, a name and a semicolon. Comment and prose lines may come before it; declarations come after. Names use letters, digits and underscores; the compiler in this site also accepts hyphens, as in tutorial-06-structs. A course spec on this site must use the module name its generator expects, so a wrong name is caught by the build and not by the compiler.
Try it
In the player, change the module name of this lesson spec and watch the verdict stay clean.

Which module lines the t27c compiler accepts, checked in the browser with the real compiler. Lesson 2 of the t27 basics course.
specs/basics/02_the_module_line.t27
// SPDX-License-Identifier: Apache-2.0
; t27 basics, lesson 2: The module line.
; Every spec names its module once, with module, a name and a semicolon.
module basics_02_the_module_line;
pub const LESSON : u8 = 2;
test the_module_line_names_this_file {
assert LESSON == 2;
}
All lessons
Module 1 · A spec file
What a .t27 file holds: a module line, prose lines and comments.
Module 2 · Values and types
Constants, the width of a whole number, and true, false and text.
Module 3 · Arrays, trits and expressions
Lists of values, the three values of a trit, and what operators compute.
Module 4 · Tests and functions
A test block, several small tests in one spec, and a function with typed inputs.
Module 5 · Inside a function
Names with let and var, choices with if and switch, and loops.
Module 6 · Visibility and your own types
What pub shares with other modules, and the structs and enums you declare.
Module 7 · Modules, rules and gen-ts
Reading another module, stating a rule that always holds, and a spec turned into TypeScript.
Module 8 · The compiler and tri
The backends t27c writes, the stages it reads a spec in, and the tri command.
Module 9 · Errors, a program, what next
Reading a compiler error, one small complete program, and the course to take next.