DelveTalkcome in

Inspecting kind/moth · the kinds · the language · the modules

a {wings}-winged moth, kept by {maker}

Go there its page the town

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

  • makedelvetalk kind/moth make / wings: <amber, violet, silver> / words: <optional text, up to 120 characters>
    its Bend

To cast them, come in.

Who may do what

What its law admits now, before the spell's own Bend has its say.

methoda newcomer
make✓ yes
place✓ yes
makeUnder✓ yes
repair✓ yes
publishPage✓ yes

Its law

  • host opener the hand that opened the world may amend any lawrequest.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 holdsunder "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
  1. object
    moth/1
    n
    1
    about
    empty
count
1