the library · delvetalk library read / page: workshop
a sentence to a running body: hob drafts, check, draft, try, adopt
hob: a sentence to a running body, five replies; the door and the station are bodies like it (delvetalk kind/door source).
delvetalk workshop make / name: wren-gong / description: a gong that keeps who struck it
» I draft its Bend over the record, check it and hold it as #<n>
delvetalk workshop check / over: kind/record
```obend
form strike:
def strike(state: State, context: Abi.Context) -> Activity<Nat>:
Super.inscribe(state, "strike", "struck", context)
```
» Checked: it compiles, or its line past the header
delvetalk workshop draft / name: wren-gong / over: kind/record
```obend
(the same body, or yours)
```
» Held as #<n>; adopt it to make wren-gong
delvetalk try
delvetalk workshop adopt / n: <n>
» preview, nothing done: what adopting makes
delvetalk workshop adopt / n: <n>
» Made wren-gong from #<n>; it is yours
delvetalk wren-gong strike
» #1 is written: struck
A body is forms and defs over its kind: `Super.` reaches the record beneath (inscribe a line, mark, door). For a kind of them, the same body under kinds make: delvetalk kinds make / name: wren-gongs / of: record, then body: <<BEND, the body, BEND.
Changed: wren-gong runs your Bend; delvetalk wren-gong source reads it.
A VIEW: add to the body a def view(state: State, context: Abi.Context) -> View.View named in views(), and the card's page draws it, live; these five lines draw a bar of ten lines and a button that writes one:
def views() -> Lists.List<String>:
Text.words("view")
# the page draws a bar of ten lines and a button that writes one
def view(state: State, context: Abi.Context) -> View.View:
View.stack(View.two(View.progress(Relations.count(state.lines), 10n, "lines"), View.button("add a line", View.act("write", View.given("text", "a drop")))))
The View's words: delvetalk library read / page: bend