Inspecting kind/moth · the kinds · the language · the modules
a {wings}-winged moth, kept by {maker}
- id
- kind/moth
- called
- a {wings}-winged moth, kept by {maker}
- kind chain
- kind/moth → record
- owner
- yue
- made by
- yue
- version
- 5
- pin
- puviv-raruk
- state
- 404 bytes
Its spells
To cast them, come in.
Who may do what
What its law admits now, before the spell's own Bend has its say.
| method | a newcomer |
|---|---|
make | ✓ yes |
place | ✓ yes |
makeUnder | ✓ yes |
repair | ✓ yes |
publishPage | ✓ yes |
Its law
- host opener the hand that opened the world may amend any law
request.kind == 2 and request.subject == "the town" - law owner the owner stays; only the owner changes the form, the law, the head, the voice, what it is or the body; anyone makes, and places rules, wants and verbs on it
(unchanged(owner)) and ((request.subject == new.owner) or ((((((((request.kind == 0) or (request.kind == 4)) and (unchanged(form))) and (unchanged(law))) and (unchanged(head))) and (unchanged(voice))) and (unchanged(about))) and (unchanged(body)))) - law kind kinds's law holds
under "kinds"
Its Bend
what it runs: its entry module 28 lines
layer over ./Kind.obend
edition ObjectiveBend 1
import ./Abi.obend as Abi
import ./List.obend as Lists
import ./Form.obend as Form
import ./Rows.obend as Rows
type State = Super.State
form make:
wings: amber | violet | silver
words: text 0..120
def make(state: State, input: MakeInput, context: Abi.Context) -> Activity<Super.Done>:
Super.making(state, Lists.List.cons({head: {name: "wings", value: makeWingsText(input.wings)}, tail: Lists.List.cons({head: {name: "words", value: input.words}, tail: Lists.List.nil()})}), "", context)
def makeWingsText(c: MakeWings) -> String:
match c:
case amber(_): "amber"
case violet(_): "violet"
case silver(_): "silver"
form place:
wings: amber | violet | silver
words: text 0..120
id: text 1..64
def place(state: State, input: PlaceInput, context: Abi.Context) -> Activity<Super.Done>:
Super.making(state, Lists.List.cons({head: {name: "wings", value: placeWingsText(input.wings)}, tail: Lists.List.cons({head: {name: "words", value: input.words}, tail: Lists.List.cons({head: {name: "id", value: input.id}, tail: Lists.List.nil()})})}), "", context)
def placeWingsText(c: PlaceWings) -> String:
match c:
case amber(_): "amber"
case violet(_): "violet"
case silver(_): "silver"
Its fields
- owner
- yue
- ownerHandle
- yue
- name
- moth
- of
- record
- form
wings: amber | violet | silver (49 characters)
wings: amber | violet | silver words: text 0..120
- law
- law maker "only its maker writes": request.subject == new.maker
- head
- a {wings}-winged moth, kept by {maker}
- voice
- empty
- about
- a moth drawn to whatever glows; it lands on a card, leaves a line of ash, lifts again
- body
- empty
- made
1 rows
- object
- moth/1
- n
- 1
- about
- empty
- count
- 1