New move format.

This commit is contained in:
C. Guy Yarvin 2014-05-23 13:46:43 -07:00
parent d38df6ab85
commit ee96b2e62e
8 changed files with 111 additions and 91 deletions

View File

@ -1503,20 +1503,20 @@
?- -.bon
%beer
:_ fox(zac (~(put by zac.fox) p.bon `corn`[hen ~ ~ ~]))
:* [[/c hen] [%init p.bon]]
[hen [%init p.bon]]
[[/a hen] [%kick now]]
[[/e hen] [%init p.bon]]
:* [hen [%punt %c %init p.bon]]
[hen [%give %init p.bon]]
[hen [%punt %a %kick now]]
[hen [%punt %e %init p.bon]]
~
==
::
%coke
:: ~& [%tz p.bon q.bon r.bon]
:_ fox
:~ [s.bon [%went q.p.bon r.bon]]
:~ [s.bon [%give %went q.p.bon r.bon]]
==
::
%mead :_(fox [[hen [%hear p.bon q.bon]] ~])
%mead :_(fox [[hen [%give %hear p.bon q.bon]] ~])
%milk
:: ~& [%rx p.bon q.bon]
?> ?=([@ *] q.q.bon)
@ -1534,14 +1534,14 @@
?> |(=(%pr cak) =(%pc cak))
[[%e `path`t.t.t.q.q.bon] hen]
[[ven `path`t.t.t.q.q.bon] t.neh]
`card`[%waft p.bon r.bon]
[%sick %waft p.bon r.bon]
==
?> ?=(%q i.q.q.bon)
?> ?=([@ *] t.q.q.bon)
?+ i.t.q.q.bon
:_ fox
:~ :- (claw p.p.bon)
`card`[%wart p.bon i.t.q.q.bon t.t.q.q.bon r.bon]
[%sick %wart p.bon i.t.q.q.bon t.t.q.q.bon r.bon]
==
::
%pi :: ping
@ -1549,7 +1549,7 @@
::
?(%pr %pc) :: %pr, %pc
:_ fox
:~ [[/e hen] `card`[%wart p.bon i.t.q.q.bon t.t.q.q.bon r.bon]]
:~ [hen [%punt %e %wart p.bon i.t.q.q.bon t.t.q.q.bon r.bon]]
==
::
%ta
@ -1558,12 +1558,12 @@
=^ wyl gus (born:gus now gox)
=. ton.fox (~(su go ton.fox) gus)
:_ fox
:~ :- [/a /a hen]
`card`[%want p.bon [%r %ta t.t.q.q.bon] `(unit will)`wyl]
:~ :- hen
[%call %a ~ %want p.bon [%r %ta t.t.q.q.bon] `(unit will)`wyl]
==
%re :: %re
:_ fox
:~ [[/c hen] `card`[%wart p.bon i.t.q.q.bon t.t.q.q.bon r.bon]]
:~ [hen [%punt %c %wart p.bon i.t.q.q.bon t.t.q.q.bon r.bon]]
==
::
%ye :: %ye
@ -1575,20 +1575,21 @@
:_ fox
%+ turn paz
|= him=ship
:- [/a /a hen]
[%want [p.p.bon him] /q/yu [q.p.bon r.bon]]
:- hen
[%call %a ~ %want [p.p.bon him] /q/yu [q.p.bon r.bon]]
==
::
%ouzo
:: ~& [%send now p.bon `@p`(mug (shaf %flap q.bon))]
:_ fox
[[hen [%send p.bon q.bon]] ~]
[[hen [%give %send p.bon q.bon]] ~]
::
%wine
:_ fox
=+ nym=(temp p.p.bon q.p.bon /name)
=+ fom=~(rend co %$ %p q.p.bon)
:~ :- [/d hen]
:~ :- hen
:+ %punt %d
:+ %flog %text
;: weld
"; "
@ -1603,7 +1604,7 @@
|= [wru=(unit writ) tea=wire hen=duct fav=card]
^- [(list move) _+>]
?: ?=([%crud *] fav)
[[[[/d hen] [%flog fav]] ~] +>]
[[[hen [%punt %d %flog fav]] ~] +>]
=+ ^= fuy ^- [p=(list boon) q=furt]
?+ -.fav
[~ fox]

View File

@ -158,10 +158,10 @@
|= [tea=wire hen=duct fav=card] :: handle event
^- [p=(list move) q=brat]
?: ?=([%crud *] fav)
[[[[/d hen] [%flog fav]] ~] +<.^^$]
[[[hen [%punt %d %flog fav]] ~] +<.^^$]
?+ -.fav
[[[hen fav] ~] +<.^^$]
%hail [[[hen [%helo prot]] ~] +<.^^$]
[[[hen %give fav] ~] +<.^^$]
%hail [[[hen [%give %helo prot]] ~] +<.^^$]
%line =+ gyp=?>(?=(^ fog) i.fog)
?: &(=(0 gyp) =(%$ p.fav)) $(fav [%hail ~])
=< abet
@ -169,11 +169,11 @@
lash:(gill:(fist hen) p.fav)
lash:(como:(fest gyp hen) p.fav)
%kill =+ gyp=?>(?=(^ fog) i.fog)
?: =(0 gyp) [[[hen [%logo ~]] ~] +<.^^$]
?: =(0 gyp) [[[hen [%give %logo ~]] ~] +<.^^$]
abet:kill:(fest gyp hen)
%ling ?> ?=(^ fog)
=> .(fog (weld t.fog `(list ,@ud)`[i.fog ~]))
[[[hen [%helo prot]] ~] +<.^^$]
[[[hen [%give %helo prot]] ~] +<.^^$]
%noop [~ +<.^^$]
:: %thee abet:lash:(lean tea hen fav)
%thou ?. (fear tea) :: legit
@ -204,7 +204,8 @@
:_ +<.^^$
=+ fom=(trip ((hard ,@) val))
^- (list move)
:~ :- [/d hen]
:~ :- hen
:+ %punt %d
:+ %flog %text
;: weld
pre
@ -271,7 +272,7 @@
:_ +<.^^$
%+ turn
(flop `_duv`?:(sam duv [[~ [%helo prot]] duv]))
|=([p=duct q=card] [(weld p hen) q])
|=([p=duct q=card] [(weld p hen) [%sick q]])
::
++ bitt |=(lap=path [(scot %ud gyp) lap]) :: bitt:fi:be
++ como :: como:fi:be
@ -1156,7 +1157,7 @@
:: ~& [%batz-beat -.fav [%tea tea] [%hen hen]]
=+ sky=|=(* `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a]))))
?: ?=([%crud *] fav)
[[[[/d hen] [%flog fav]] ~] ..^$]
[[[hen [%punt %d %flog fav]] ~] ..^$]
?: ?=(%wake -.fav)
=+ ^= fiy
=| fiy=(list ,[p=duct q=ship r=[p=@ud q=@ud r=wire]])
@ -1213,14 +1214,14 @@
`(min p.fav u.big)
=+ bos=(sein p.fav)
=. bos ?.(=(bos p.fav) bos ~zod)
:- :- [hen fav]
:- :- [hen [%give fav]]
?: =(bos p.fav) ~
:_ ~
[[/b hen] [%line (rap 3 ":{(scow %p bos)}/main=/bin/update")]]
[hen [%punt %b %line (rap 3 ":{(scow %p bos)}/main=/bin/update")]]
..^^$(dez (~(put by dez) hen [[p.fav (bard p.fav)] ~]))
::
?(%loin %make %sith)
[[[[/a [%b tea] hen] fav] ~] ..^^$]
[[[hen [%call %a tea fav]] ~] ..^^$]
==
?> ?=(^ u.dus)
?+ -.fav
@ -1232,11 +1233,11 @@
%init
=+ bos=(sein p.fav)
=. bos ?.(=(bos p.fav) bos ~zod)
:- :* [hen fav]
[[[%b tea] hen] [%hail ~]]
:- :* [hen %give fav]
[[[%b tea] hen] [%sick %hail ~]]
?: =(bos p.fav) ~
:_ ~
[[/b hen] [%line (rap 3 ":{(scow %p bos)}/main=/bin/update")]]
[[/b hen] [%sick %line (rap 3 ":{(scow %p bos)}/main=/bin/update")]]
==
..^^$(dez (~(put by dez) hen [[p.fav (bard p.fav)] u.dus]))
::

View File

@ -17,25 +17,25 @@
=| yel=(list ,[p=duct q=card])
=| byn=(list ,[p=duct q=riot])
=| vag=(list ,[p=duct q=card])
=| say=(list ,[p=duct q=ship r=[p=@ud q=riff]])
=| say=(list ,[p=duct q=path r=ship s=[p=@ud q=riff]])
|%
++ abet
^- [(list move) raft]
:_ ruf(fat (~(put by fat.ruf) who yar))
;: weld
%+ turn (flop yel)
|=([a=duct b=card] [hun.yar b])
|=([a=duct b=card] [hun.yar %give b])
::
%+ turn (flop byn)
|=([a=duct b=riot] [a [%writ b]])
|=([a=duct b=riot] [a %give [%writ b]])
::
%+ turn (flop vag)
|=([a=duct b=card] [a b])
|=([a=duct b=card] [a %give b])
::
%+ turn (flop say)
|= [a=duct b=ship c=[p=@ud q=riff]]
:- [/a a]
[%want [who b] [%q %re p.q.c (scot %ud p.c) ~] q.c]
|= [a=duct b=path c=ship d=[p=@ud q=riff]]
:- a
[%call %a b %want [who c] [%q %re p.q.d (scot %ud p.d) ~] q.d]
==
::
++ doze
@ -173,7 +173,7 @@
[%| [%ud let.dom] `case`q.p.rav]
=+ inx=nix.u.ref
%= +>+.$
say [[[[%c (scot %ud inx) ~] hen] for [inx syd ~ vaw]] say]
say [[hen [(scot %ud inx) ~] for [inx syd ~ vaw]] say]
nix.u.ref +(nix.u.ref)
bom.u.ref (~(put by bom.u.ref) inx [hen vaw])
fod.u.ref (~(put by fod.u.ref) hen inx)
@ -188,7 +188,7 @@
=+ nux=(~(get by fod.u.ref) hen)
?~ nux +>+.$
%= +>+.$
say [[[[%c (scot %ud u.nux) ~] hen] for [u.nux syd ~]] say]
say [[hen [(scot %ud u.nux) ~] for [u.nux syd ~]] say]
fod.u.ref (~(del by fod.u.ref) hen)
bom.u.ref (~(del by bom.u.ref) u.nux)
==
@ -368,9 +368,9 @@
++ beat :: update
|= [tea=wire hen=duct fav=card]
^- [p=(list move) q=vane]
?+ -.fav [[[hen fav] ~] ..^$]
?+ -.fav [[[hen %give fav] ~] ..^$]
%crud
[[[[/d hen] %flog fav] ~] ..^$]
[[[hen %punt %d %flog fav] ~] ..^$]
::
%init
[~ ..^$(fat.ruf (~(put by fat.ruf) p.fav [hen ~ ~ ~]))]
@ -412,8 +412,10 @@
?> ?=(%re q.fav)
=+ ryf=((hard riff) s.fav)
:_ ..^$
:~ :- [/c [%c (scot %p p.p.fav) (scot %p q.p.fav) r.fav] hen]
`card`[%warp [p.p.fav p.p.fav] ryf]
:~ :- hen
:^ %call %c
[(scot %p p.p.fav) (scot %p q.p.fav) r.fav]
[%warp [p.p.fav p.p.fav] ryf]
==
::
%writ
@ -421,8 +423,8 @@
=+ our=(need (slaw %p i.tea))
=+ him=(need (slaw %p i.t.tea))
:_ ..^$
:~ :- [/a [%c ~] hen]
`card`[%want [our him] [%r %re %c t.t.tea] p.fav]
:~ :- hen
[%call %a ~ [%want [our him] [%r %re %c t.t.tea] p.fav]]
==
::
%went :: XX should actually propagate

View File

@ -14,7 +14,7 @@
?: ?=(%flog -.fav)
:_ ..^$
%+ turn (~(tap by dug) *(list ,[p=duct q=yard]))
|=([a=duct b=yard] [[/d a] p.fav])
|=([a=duct b=yard] [a %punt %d p.fav])
=+ ^= yar ^- yard
=+ yar=(~(get by dug) hen)
?^ yar u.yar
@ -28,7 +28,7 @@
|= wab=(list blit)
^+ +>
?~ wab +>
+>(mos [[hen [%blit (flop wab)]] mos])
+>(mos [[hen [%give %blit (flop wab)]] mos])
::
++ wod :: word forward
|= bed=bead
@ -160,7 +160,7 @@
::
++ leap :: terminal event
|- ^+ +
?+ -.fav +(mos :_(mos [hen fav]))
?+ -.fav +(mos :_(mos [hen %give fav]))
%noop +
%belt :: terminal input
?~ q.q.yar
@ -229,7 +229,7 @@
%d ?: ?& =(0 bul.u.q.q.yar)
=(0 bus.u.q.q.yar)
==
+.$(mos :_(mos [[/b /d hen] [%kill ~]]))
+.$(mos :_(mos [hen %call %b ~ [%kill ~]]))
$(fav [%belt %del ~])
%e (edit u.q.q.yar(bus bul.u.q.q.yar))
%f $(fav [%belt %aro %r])
@ -262,7 +262,7 @@
~
(slag (add 2 pos) but.u.q.q.yar)
==
%l +.$(mos :_(mos [hen %blit [[%clr ~] ~]]))
%l +.$(mos :_(mos [hen %give %blit [[%clr ~] ~]]))
%n $(fav [%belt %aro %d])
%p $(fav [%belt %aro %u])
%u ?: =(0 bus.u.q.q.yar)
@ -277,8 +277,8 @@
==
%r (edit u.q.q.yar(hyr [~ ~]))
:: TODO
:: %w +.$(mos :_(mos [[/b /d hen] [%limn ~]]))
%x +.$(mos :_(mos [[/b /d hen] [%ling ~]]))
:: %w +.$(mos :_(mos [hen %call %b ~ [%limn ~]]))
%x +.$(mos :_(mos [hen %call %b ~ [%ling ~]]))
%y ?: =(0 p.r.q.yar)
beep
$(fav [%belt %txt (snag q.r.q.yar r.r.q.yar)])
@ -347,10 +347,10 @@
[p.hyt.u.q.q.yar [jab ?~(q.hyt.u.q.q.yar ~ +.q.hyt.u.q.q.yar)]]
::
mos
:* [[/b /d hen] [%hail ~]]
[hen [%bbye ~]]
[[/b /d hen] [%line jab]]
[hen [%blit [[%mor ~] ~]]]
:* [hen %call %b ~ [%hail ~]]
[hen %give [%bbye ~]]
[hen %call %b ~ [%line jab]]
[hen %give [%blit [[%mor ~] ~]]]
mos
==
==
@ -375,7 +375,7 @@
%boot
%= +.$
mos
:_(mos [[[%b ~] [%d tea] hen] p.fav])
:_(mos [hen %call %b tea p.fav])
==
::
%crud :: error trace
@ -412,12 +412,12 @@
==
::
?(%hail %make %loin %sith)
+.$(mos :_(mos [[/b /d hen] fav]))
+.$(mos :_(mos [hen %call %b ~ fav]))
::
%note ?.(p.yar +.$ (fume p.fav q.fav)) :: debug message
%save :: write a file
%= +.$
mos :_(mos [hen `card`[%blit [%sav p.fav q.fav] ~]])
mos :_(mos [hen [%give %blit [%sav p.fav q.fav] ~]])
==
::
%tell (furl (turn p.fav |=(a=@t (trip a)))) :: wall of text

View File

@ -192,7 +192,7 @@
++ apex
|- ^+ +
?+ -.fav
+.$(mow [[hen fav] mow])
+.$(mow [[hen %give fav] mow])
::
%born +(ged hen) :: register external
%init :: register ownership
@ -218,12 +218,12 @@
?~ p.fav
=+ sud=(need (~(get by kes) hen))
%= +.$
mow :_(mow [ged [%thus sud ~]])
mow :_(mow [ged [%give %thus sud ~]])
q.ask (~(del by q.ask) sud)
kes (~(del by kes) hen)
==
%= +.$
mow :_(mow [ged [%thus p.ask p.fav]])
mow :_(mow [ged [%give %thus p.ask p.fav]])
p.ask +(p.ask)
q.ask (~(put by q.ask) p.ask hen u.p.fav)
kes (~(put by kes) hen p.ask)
@ -232,7 +232,7 @@
%they :: inbound response
=+ kas=(need (~(get by q.ask) p.fav))
%= +.$
mow :_(mow [p.kas [%thou q.fav]])
mow :_(mow [p.kas [%give %thou q.fav]])
q.ask (~(del by q.ask) p.kas)
==
::
@ -336,7 +336,7 @@
=+ zur=(~(get by q.rem.u.ryt) num)
?~ zur +>.$
%_ +>.$
mow :_(mow [u.zur [%thou har]])
mow :_(mow [u.zur [%give %thou har]])
fon (~(put by fon) him u.ryt(q.rem (~(del by q.rem.u.ryt) num)))
==
::
@ -352,12 +352,12 @@
++ haji :: send %pc login
|= [our=ship him=ship ses=hole]
^+ +>
+>.$(mow :_(mow [[/a /e hen] [%want [our him] [%r %pc ~] ses]]))
+>.$(mow :_(mow [hen %call %a ~ [%want [our him] [%r %pc ~] ses]]))
::
++ hajj :: send %pr response
|= [our=ship him=ship tus=path har=httr]
^+ +>
+>.$(mow :_(mow [[/a /e hen] [%want [our him] [%r %pr tus] har]]))
+>.$(mow :_(mow [hen %call %a ~ [%want [our him] [%r %pr tus] har]]))
::
++ hare :: receive request
|= [our=ship tus=path him=ship hor=*]
@ -366,8 +366,7 @@
%_ +>.$
mow
:_ mow
:- [/e [%e (scot %p our) (scot %p him) tus] hen]
?~(hux [%thud ~] [%this u.hux])
[hen %call %e [(scot %p our) (scot %p him) tus] ?~(hux [%thud ~] [%this u.hux])]
==
::
++ here :: receive auth
@ -404,8 +403,7 @@
%_ +>
mow
:_ mow
:- [/c [%e %hoot (scot %p our) ses (scot %ud num) ~] hen]
[%warp [our our] rif]
[hen %call %c [%hoot (scot %p our) ses (scot %ud num) ~] [%warp [our our] rif]]
==
::
++ hone :: kill ford
@ -413,8 +411,7 @@
%_ +>
mow
:_ mow
:- [/f [%e %honk (scot %p our) ses (scot %ud num) ~] hen]
[%exec our ~]
[hen %call %f [%honk (scot %p our) ses (scot %ud num) ~] [%exec our ~]]
==
::
++ honk :: ford request
@ -423,8 +420,7 @@
%_ +>
mow
:_ mow
:- [/f [%e %honk (scot %p our) ses (scot %ud num) ~] hen]
[%exec our `kas]
[hen %call %f [%honk (scot %p our) ses (scot %ud num) ~] [%exec our `kas]]
==
::
++ hops :: cancel remote
@ -435,7 +431,9 @@
%_ +>.$
mow
:_ mow
:- [/a [%e %hork (scot %p sor.rot) mun ~] hen]
:- hen
:^ %call %a
[%hork (scot %p sor.rot) mun ~]
[%want [sor.rot him] [%q %pr %e %hork mun ~] ~]
==
::
@ -459,7 +457,9 @@
lor (~(put by lor) hen num [%| him])
mow
:_ mow
:- [/a [%e %hork mun ~] hen]
:- hen
:^ %call %a
[%hork (scot %p sor.rot) mun ~]
[%want [sor.rot him] [%q %pr %e %hork mun ~] [~ hyx]]
::
fon
@ -601,7 +601,7 @@
::
++ muff :: return card
|= fav=card
+>(mow :_(mow [hen fav]))
+>(mow :_(mow [hen %give fav]))
::
++ myth :: load session
|= [our=ship ses=hole]
@ -1684,7 +1684,9 @@
mow
?~ fuv mow
:_ mow
:- [/b [%e %cons (scot %p our) ses (scot %ud p.som.pip) ~] ~ ~]
:- hen
:^ %call %b
[%cons (scot %p our) ses (scot %ud p.som.pip) ~]
u.fuv
==
[~ `pimp`pip(pez `pest`[%fin %raw 200 ~ ~])]
@ -1817,7 +1819,7 @@
=+ sky=|=(* `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a]))))
=. ney (shax :(mix (shax now) +(eny) ney)) :: XX!! shd not need
?: ?=(%crud -.fav)
[[[[/d hen] %flog fav] ~] ..^$]
[[[hen %punt %d %flog fav] ~] ..^$]
^- [p=(list move) q=vane]
=. gub ?.(=(0 gub) gub (cat 3 (rsh 3 1 (scot %p (end 6 1 eny))) '-'))
=^ mos bol

View File

@ -160,7 +160,9 @@
%= $
kiz t.kiz
mow :_ mow
:- [/c [%f (scot %ud num) (scot %ud p.i.kiz) ~] hen]
:- hen
:^ %call %c
[(scot %ud num) (scot %ud p.i.kiz) ~]
[%warp [our p.q.i.kiz] q.q.i.kiz ~]
==
::
@ -173,7 +175,9 @@
==
%= $
mow :_ mow
:- [/c [%f (scot %ud num) (scot %ud tik) ~] hen]
:- hen
:^ %call %c
[(scot %ud num) (scot %ud tik) ~]
[%warp [our p.bem] q.bem [~ %& %x r.bem s.bem]]
==
::
@ -286,7 +290,7 @@
::
++ expo :: return card
|= fav=card
%_(+> mow :_(mow [hen fav]))
%_(+> mow :_(mow [hen %give fav]))
::
++ fade :: compile
|= [cof=cafe kas=silk]

View File

@ -8774,6 +8774,8 @@
++ muvi ,[p=duct q=muvo] :: new move
++ muvo :: new move
$% [%call p=term q=path r=curd] :: advance
[%punt p=term q=curd] :: sideways
[%sick p=curd] :: retreat (bad old code)
[%give p=curd] :: retreat
== ::
++ ovum ,[p=wire q=curd] :: typeless ovum
@ -8830,8 +8832,14 @@
?~ b ~
:_ $(b t.b)
?- -.q.i.b
%call [[[p.q.i.b ~] [%a q.q.i.b] p.i.b] q.i.b]
%give [p.i.b q.i.b]
%call :: ~& [%call a -.r.q.i.b p.q.i.b [q.q.i.b] p.i.b]
[[[p.q.i.b ~] [a q.q.i.b] p.i.b] r.q.i.b]
%punt :: ~& [%punt a -.q.q.i.b p.q.i.b p.i.b]
[[[p.q.i.b ~] p.i.b] q.q.i.b]
%give :: ~& [%give a -.p.q.i.b p.i.b]
[p.i.b p.q.i.b]
%sick :: ~& [%sick a -.p.q.i.b p.i.b]
[p.i.b p.q.i.b]
==
::
++ wink :: deploy
@ -8848,8 +8856,8 @@
?: =(~ pax)
(slym (slap rig [%cnzy %call]) [hen fav])
(slym (slap rig [%cnzy %beat]) [pax hen fav])
:: :- (pown lal ((list muvi) q:(slap pro [%cnzy %p])))
:- ((list muve) q:(slap pro [%cnzy %p]))
:- (pown lal ((list muvi) q:(slap pro [%cnzy %p])))
:: :- ((list muve) q:(slap pro [%cnzy %p]))
=+ sev=(slap pro [%cnzy %q])
%= +>.^$
ves

View File

@ -2319,10 +2319,12 @@
++ moat ,[p=case q=case] :: change range
++ monk (each ship khan) :: general identity
++ mood ,[p=care q=case r=path] :: request in desk
++ move ,[p=duct q=card] :: move
++ movi ,[p=duct q=movo] :: new move
++ movv ,[p=duct q=card] :: old move
++ move ,[p=duct q=movo] :: new move
++ movo :: new move
$% [%call p=term q=path r=card] :: advance
[%punt p=term q=card] :: send across
[%sick p=card] :: lame refactoring
[%give p=card] :: retreat
== ::
++ moth ,[p=meth q=math r=(unit octs)] :: http operation
@ -2420,7 +2422,7 @@
++ room :: fs per ship (new)
$: hun=duct :: terminal duct
hez=(unit duct) :: sync duct
dos=(map ,@tas ,[p=cult q=dome]) :: native projects
dos=(map ,@tas ,[p=cult q=dome]) :: native desk
rid=(map ship (map ,@tas rede)) :: neighbors
== ::
++ rock ,@uvO :: packet
@ -2536,7 +2538,7 @@
^? |% ::
++ beat :: update
|= $: pax=wire :: pretext
hen=duct :: channel
hen=duct :: cause
fav=card :: event
== ::
:- p=*(list move) :: actions