ludic/docs/language/structure/kw-module.md
Orkuncakilkaya e2528c1b10 docs/language: a page for every keyword and attribute the vocabulary has
Keywords: module uses friend export internal numbers unsafe mut port bind action
reducer registry of as from def open alias component prop view (structure),
shows lasts then loads (scenes), system (ecs), dispatch (control), true false
null (operators). Attributes: @Ref @OneOf @Range @Unit @Asset @Color, @Node /
@Clip / @Material, @Tint @Derived, @Text / @Multiline, @Key, @AppendOnly /
@ByKey, @PerMap / @Chunked, @frame @max, @owns / @creates / @releases,
@deterministic @alloc_ok. Each is in tools/docgen/inventory.json; every fence
that is not marked skip parses (ludicc --fmt). annot-clearcolor's token loses its
quotes, which no reader strips.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 23:59:47 +03:00

771 B

id name category kind tokens sig tip order
kw-module module structure keyword module module name [in layer L] [uses a, b] Names the module a directory's files belong to; only what it exports is reachable from outside. 51

module opens a directory's barrel (index.ludic) and says which module every file under it belongs to. A name a module does not export is private to it: another module that names it is refused at compile time, which is what makes a private name safe to change. The line may place the module in a layer (in layer L) and say what it may reach (uses).

# doc-check: skip — a module spans files
# bank/index.ludic
module bank uses base
import "ledger.ludic"