WCL — training
A typed configuration and schema language: records, unions, interfaces, decorators, and a document model that gathers and validates structured data.
Work through the lessons in order — each builds on the previous one, and every lesson ends with exercises you can check against the expected results.
§ 1Lessons
1. Install wcl and check your first file — Get the toolchain running, write a tiny typed document, and check and evaluate it.
2. Fields, blocks, and comments — The two structural pieces every document is made of, plus how to annotate them.
3. Primitive types and literals — Numbers with width suffixes, strings and heredocs, symbols, and booleans.
4. Lists, records, and pipe-tables — The composite shapes: ordered lists, named-field records, and compact row tables.
5. Declaring types and decorators — Turn record types into an authoring vocabulary with @block, @inline, and @default.
6. The @document and gathering — How one root schema collects every block instance into a single validated document.
7. Optionals, unions, and match — Model absence with T? and none, alternatives with unions, and consume both with match.
8. Functions and higher-order patterns — Named fn items, fn literals, and the map/filter/fold trio.
9. Imports and namespaces — Split a model across files and keep independently-authored names from colliding.
10. Tooling day-to-day — The edit loop around a living document: fmt, set, diff, and the repl.
11. Capstone: schema a real config — Put it all together — vocabulary, constraints, document root, and instances for a deployment config.