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>
This commit is contained in:
parent
eb2d6106af
commit
e2528c1b10
49 changed files with 746 additions and 7 deletions
20
docs/language/structure/kw-reducer.md
Normal file
20
docs/language/structure/kw-reducer.md
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
id: kw-reducer
|
||||
name: reducer
|
||||
category: structure
|
||||
kind: keyword
|
||||
tokens: reducer
|
||||
sig: reducer State on Action(st: mut State, reads..., a: Action) { ... }
|
||||
tip: Applies an action to one state; it may read others.
|
||||
order: 62
|
||||
---
|
||||
|
||||
A <code>reducer</code> writes exactly one state when its action is dispatched: the first parameter is that state, <code>mut</code>, the last is the action, and any states between are read-only. A change that must touch several states in a set order is a chain: a reducer dispatches the next action.
|
||||
|
||||
```ludic
|
||||
state Pos { x: int = 0 }
|
||||
action Move { dx: int = 0 }
|
||||
reducer Pos on Move(p: mut Pos, a: Move) {
|
||||
p.x = p.x + a.dx
|
||||
}
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue