The guide, in human order¶
This reference is arranged as a course you can dip into, not an alphabetized wall of keywords. Start anywhere; every chapter's code blocks open in the playground with one click.
Foundations¶
1 · Make something runThe playground, the CLI, first contact, and the two program faces.
2 · Choose a program shapeInteractive console, automation scripts, event-driven GUI, or both.
3 · Learn the nounsNames, literals, variables, types, declarations, and classic suffixes.
4 · Own the storageWhat DIM allocates, scope, lifetime, arrays, objects, and deliberate release.
5 · Work with textJoining, slicing, searching, conversion, fixed fields, bytes, and UTF-8 boundaries.
6 · Calculate meaningOperators, precedence, calls, comparison, logic, and built-in functions.
7 · Give it a plotBranches, loops, selection, labels, and numbered-line code.
8 · Give ideas namesSUBs, FUNCTIONs, scope, and choosing BYREF or BYVAL.
9 · Work in collectionsBounds, resizing, parameters, copy, fill, and zero-copy swap.
10 · Model a worldValue records first; then objects, lifetime, properties, and dispatch.
11 · Talk to the consolePRINT, INPUT, formatting, embedded DATA, random sequences, and time.
12 · Handle trouble honestlyDiagnostics, ERR and ERL, refusal handlers, recovery, and cleanup.
Applications and the outside world¶
13 · Work with filesMounts, directories, bounded I/O, copy, move, rename, trash, and safe replacement.
14 · Store durable meaningDatabase sessions, snapshots, writes, attachments, artifacts, revisions, and receipts.
15 · Open a windowLifecycle faces, input events, drawing, resizing, and invalidation.
16 · Build an interfaced/Works controls, focus, local events, menus, and explicit damage.
17 · Give it sights and soundsPackage assets, images, fonts, tones, PCM, and honest per-runner lowering.
18 · Make a little worldGX scenes, entities, tilemaps, cameras, collision, animation, and portable game turns.
19 · Reach beyond the machineHTTP, streams, capabilities, partial I/O, security, and offline truth.
20 · Ask the worldThe semantic capability boundary, and the reason it exists.
21 · Move real objectsDeep drag and drop, DOBJ, cross-app negotiation, Trash, and native bridges.
Reuse, migration, and delivery¶
22 · Share good codeBaked, shared, and project-local libraries with exact dependency identity.
23 · Think like the compilerOptimization, cost, determinism, diagnostics, and conformance.
24 · Outgrow 64 KiBA 512 KiB first target, hidden banking, paged values, and Intent acceleration.
25 · Ship the artifactDBC images, libraries, packages, admission, and cross-platform runs.
26 · Bring a listing forwardCompatibility rules, migration, permanent machine boundaries, and refusals.
27 · Find the spellingStatement, intrinsic, event, operator, storage, and type tables.
The five ideas worth remembering¶
- Line numbers are welcome, not required. Named labels and structured blocks live in the same source.
- Untyped numeric names are
SINGLE. Use a suffix,AS, orDEFINT A-Zwhen you mean an integer. - Parameters are
BYREFby default. WriteBYVALwhen the callee should receive a value it cannot use to rebind the caller. TYPEcopies;CLASSshares identity. This one distinction explains most record and object behavior.- Programs express intent, hosts provide capability. That is how one program crosses very different machines.
Ready? Run your first program →