Learn Silk
Learn Silk
Build from one checked program to packages, tests, native artifacts, C headers, and verification.
How does the course work?
By building the language model one boundary at a time.
Follow a working path
Each chapter starts from code you can inspect, run, and extend before moving to the reference docs.
Keep the contracts visible
Imports, typed failure, package surfaces, build targets, and ABI edges stay close to the source.
What will I learn?
The core concepts covered in this track.
1
First programWrite a module, import stdlib I/O, and run the check-test-build loop.
2
Language tourRead functions, values, control flow, optionals, and result-oriented APIs.
3
Modules and packagesUse package roots, quoted imports, definitions, and publication layout.
4
Types and optionalsMake absence explicit with
T? and keep data shapes readable.
5
Results and errorsModel recoverable failure with typed errors and Result(T, E).
6
Structs and implsAttach behavior to data without hiding layout and ownership choices.
7
InterfacesUse source-level conformance for shared behavior inside one build.
8
TestingWrite language-level tests and read TAP output in local and CI workflows.
9
Standard libraryUse stdlib modules through explicit dependency-rooted imports.
10
Target attributesKeep platform choices narrow with attr(os="...") and target gates.
11
C ABI and headersExpose stable symbols, string shapes, and generated C header surfaces.
12
Formal SilkAdd local proof obligations where invariants earn their keep.