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>
19 lines
771 B
Markdown
19 lines
771 B
Markdown
---
|
|
id: kw-module
|
|
name: module
|
|
category: structure
|
|
kind: keyword
|
|
tokens: module
|
|
sig: module name [in layer L] [uses a, b]
|
|
tip: Names the module a directory's files belong to; only what it exports is reachable from outside.
|
|
order: 51
|
|
---
|
|
|
|
<code>module</code> opens a directory's barrel (<code>index.ludic</code>) and says which module every file under it belongs to. A name a module does not <code>export</code> 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 (<code>in layer L</code>) and say what it may reach (<code>uses</code>).
|
|
|
|
```ludic
|
|
# doc-check: skip — a module spans files
|
|
# bank/index.ludic
|
|
module bank uses base
|
|
import "ledger.ludic"
|
|
```
|