mirror of
https://github.com/urbit/shrub.git
synced 2024-11-29 14:57:12 +03:00
16. single-home %clay state
This commit is contained in:
parent
18cb206eee
commit
e86b23393c
@ -180,7 +180,7 @@
|
|||||||
::
|
::
|
||||||
:: Formal vane state.
|
:: Formal vane state.
|
||||||
::
|
::
|
||||||
:: -- `fat` is a collection of our domestic ships.
|
:: -- `rom` is our domestic state.
|
||||||
:: -- `hoy` is a collection of foreign ships where we know something about
|
:: -- `hoy` is a collection of foreign ships where we know something about
|
||||||
:: their clay.
|
:: their clay.
|
||||||
:: -- `ran` is the object store.
|
:: -- `ran` is the object store.
|
||||||
@ -192,7 +192,7 @@
|
|||||||
:: -- `tip` is the date of the last write; if now, enqueue incoming requests.
|
:: -- `tip` is the date of the last write; if now, enqueue incoming requests.
|
||||||
::
|
::
|
||||||
++ raft :: filesystem
|
++ raft :: filesystem
|
||||||
$: fat/(map ship room) :: domestic
|
$: rom/room :: domestic
|
||||||
hoy/(map ship rung) :: foreign
|
hoy/(map ship rung) :: foreign
|
||||||
ran/rang :: hashes
|
ran/rang :: hashes
|
||||||
mon/(map term beam) :: mount points
|
mon/(map term beam) :: mount points
|
||||||
@ -388,25 +388,24 @@
|
|||||||
::
|
::
|
||||||
:: The state includes:
|
:: The state includes:
|
||||||
::
|
::
|
||||||
|
:: -- local urbit `our`
|
||||||
:: -- current time `now`
|
:: -- current time `now`
|
||||||
:: -- current duct `hen`
|
:: -- current duct `hen`
|
||||||
:: -- local urbit `our`
|
:: -- all vane state `++raft` (rarely used, except for the object store)
|
||||||
:: -- target urbit `her`
|
:: -- target urbit `her`
|
||||||
:: -- target desk `syd`
|
:: -- target desk `syd`
|
||||||
:: -- all vane state `++raft` (rarely used, except for the object store)
|
|
||||||
::
|
::
|
||||||
:: For local desks, `our` == `her` is one of the urbits on our pier. For
|
:: For local desks, `our` == `her` is one of the urbits on our pier. For
|
||||||
:: foreign desks, `her` is the urbit the desk is on and `our` is the local
|
:: foreign desks, `her` is the urbit the desk is on and `our` is the local
|
||||||
:: urbit that's managing the relationship with the foreign urbit. Don't mix
|
:: urbit that's managing the relationship with the foreign urbit. Don't mix
|
||||||
:: up those two, or there will be wailing and gnashing of teeth.
|
:: up those two, or there will be wailing and gnashing of teeth.
|
||||||
::
|
::
|
||||||
:: While setting up `++de`, we check if the given `her` is a local urbit. If
|
:: While setting up `++de`, we check if `our` == `her`. If so, we get
|
||||||
:: so, we pull the room from `fat` in the raft and get the desk information
|
:: the desk information from `dos.rom`. Otherwise, we get the rung from
|
||||||
:: from `dos` in there. Otherwise, we get the rung from `hoy` and get the
|
:: `hoy` and get the desk information from `rus` in there. In either case,
|
||||||
:: desk information from `rus` in there. In either case, we normalize the
|
:: we normalize the desk information to a `++rede`, which is all the
|
||||||
:: desk information to a `++rede`, which is all the desk-specific data that
|
:: desk-specific data that we utilize in `++de`. Because it's effectively
|
||||||
:: we utilize in `++de`. Because it's effectively a part of the `++de`
|
:: a part of the `++de` state, let's look at what we've got:
|
||||||
:: state, let's look at what we've got:
|
|
||||||
::
|
::
|
||||||
:: -- `lim` is the most recent date we're confident we have all the
|
:: -- `lim` is the most recent date we're confident we have all the
|
||||||
:: information for. For local desks, this is always `now`. For foreign
|
:: information for. For local desks, this is always `now`. For foreign
|
||||||
@ -429,47 +428,44 @@
|
|||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|%
|
|%
|
||||||
++ de :: per desk
|
++ de :: per desk
|
||||||
|= {now/@da hen/duct raft}
|
|= [our=ship now=@da hen=duct raft]
|
||||||
|= {{our/@p her/@p} syd/desk}
|
|= [her=ship syd=desk]
|
||||||
=* ruf +>+<+>
|
:: XX ruf=raft crashes in the compiler
|
||||||
=+ ^- {hun/(unit duct) rede}
|
::
|
||||||
=+ rom=(~(get by fat.ruf) her)
|
=* ruf |3.+6.^$
|
||||||
?~ rom
|
::
|
||||||
|
=+ ^- [hun=(unit duct) rede]
|
||||||
|
?. =(our her)
|
||||||
|
:: no duct, foreign +rede or default
|
||||||
|
::
|
||||||
:- ~
|
:- ~
|
||||||
%+ fall
|
=/ rus rus:(fall (~(get by hoy.ruf) her) *rung)
|
||||||
(~(get by rus:(fall (~(get by hoy.ruf) her) *rung)) syd)
|
%+ fall (~(get by rus) syd)
|
||||||
:* lim=~2000.1.1
|
[lim=~2000.1.1 ref=`*rind qyx=~ dom=*dome dok=~ mer=~ per=~ pew=~]
|
||||||
ref=[~ *rind]
|
:: administrative duct, domestic +rede
|
||||||
qyx=~
|
::
|
||||||
dom=*dome
|
:- `hun.rom.ruf
|
||||||
dok=~
|
=/ jod (fall (~(get by dos.rom.ruf) syd) *dojo)
|
||||||
mer=~
|
[lim=now ref=~ [qyx dom dok mer per pew]:jod]
|
||||||
per=~
|
::
|
||||||
pew=~
|
=* red=rede ->
|
||||||
==
|
|
||||||
:- `hun.u.rom
|
|
||||||
=+ jod=(fall (~(get by dos.u.rom) syd) *dojo)
|
|
||||||
:* lim=now
|
|
||||||
ref=~
|
|
||||||
qyx=qyx.jod
|
|
||||||
dom=dom.jod
|
|
||||||
dok=dok.jod
|
|
||||||
mer=mer.jod
|
|
||||||
per=per.jod
|
|
||||||
pew=pew.jod
|
|
||||||
==
|
|
||||||
=* red ->
|
|
||||||
=| mow/(list move)
|
=| mow/(list move)
|
||||||
|%
|
|%
|
||||||
++ abet :: resolve
|
++ abet :: resolve
|
||||||
^- {(list move) raft}
|
^- [(list move) raft]
|
||||||
:_ =+ rom=(~(get by fat.ruf) her)
|
:- (flop mow)
|
||||||
?~ rom
|
?. =(our her)
|
||||||
=+ rug=(~(put by rus:(fall (~(get by hoy.ruf) her) *rung)) syd red)
|
:: save foreign +rede
|
||||||
ruf(hoy (~(put by hoy.ruf) her rug))
|
::
|
||||||
=+ dos=(~(put by dos.u.rom) syd [qyx dom dok mer per pew])
|
=/ rus rus:(fall (~(get by hoy.ruf) her) *rung)
|
||||||
ruf(fat (~(put by fat.ruf) her [(need hun) dos]))
|
=/ rug (~(put by rus) syd red)
|
||||||
(flop mow)
|
ruf(hoy (~(put by hoy.ruf) her rug))
|
||||||
|
:: save domestic +room
|
||||||
|
::
|
||||||
|
%= ruf
|
||||||
|
hun.rom (need hun)
|
||||||
|
dos.rom (~(put by dos.rom.ruf) syd [qyx dom dok mer per pew]:red)
|
||||||
|
==
|
||||||
::
|
::
|
||||||
:: Handle `%sing` requests
|
:: Handle `%sing` requests
|
||||||
::
|
::
|
||||||
@ -2755,12 +2751,13 @@
|
|||||||
~
|
~
|
||||||
?- p.mun
|
?- p.mun
|
||||||
$d
|
$d
|
||||||
=+ rom=(~(get by fat.ruf) her)
|
:: XX this should only allow reads at the currebt date
|
||||||
?~ rom
|
::
|
||||||
~&(%null-rom-cd [~ ~])
|
?: !=(our her)
|
||||||
|
[~ ~]
|
||||||
?^ r.mun
|
?^ r.mun
|
||||||
~&(%no-cd-path [~ ~])
|
~&(%no-cd-path [~ ~])
|
||||||
[~ ~ %& %noun !>(~(key by dos.u.rom))]
|
[~ ~ %& %noun !>(~(key by dos.rom.ruf))]
|
||||||
::
|
::
|
||||||
$p (read-p r.mun)
|
$p (read-p r.mun)
|
||||||
$t (bind (read-t yon r.mun) (lift |=(a=cage [%& a])))
|
$t (bind (read-t yon r.mun) (lift |=(a=cage [%& a])))
|
||||||
@ -3687,7 +3684,7 @@
|
|||||||
:: This is the arvo interface vane. Our formal state is a `++raft`, which
|
:: This is the arvo interface vane. Our formal state is a `++raft`, which
|
||||||
:: has five components:
|
:: has five components:
|
||||||
::
|
::
|
||||||
:: -- `fat` is the state for all local desks.
|
:: -- `rom` is the state for all local desks.
|
||||||
:: -- `hoy` is the state for all foreign desks.
|
:: -- `hoy` is the state for all foreign desks.
|
||||||
:: -- `ran` is the global, hash-addressed object store.
|
:: -- `ran` is the global, hash-addressed object store.
|
||||||
:: -- `mon` is the set of mount points in unix.
|
:: -- `mon` is the set of mount points in unix.
|
||||||
@ -3724,11 +3721,10 @@
|
|||||||
(~(put by cez.ruf) nom.req cew.req)
|
(~(put by cez.ruf) nom.req cew.req)
|
||||||
:: wake all desks, a request may have been affected.
|
:: wake all desks, a request may have been affected.
|
||||||
=| mos/(list move)
|
=| mos/(list move)
|
||||||
=+ rom=(fall (~(get by fat.ruf) our.req) *room)
|
=/ des ~(tap in ~(key by dos.rom.ruf))
|
||||||
=+ des=~(tap in ~(key by dos.rom))
|
|
||||||
|-
|
|-
|
||||||
?~ des [[[hen %give %mack ~] mos] ..^^$]
|
?~ des [[[hen %give %mack ~] mos] ..^^$]
|
||||||
=+ den=((de now hen ruf) [. .]:our.req i.des)
|
=/ den ((de our now hen ruf) our i.des)
|
||||||
=^ mor ruf
|
=^ mor ruf
|
||||||
=< abet:wake
|
=< abet:wake
|
||||||
?: ?=(^ cew.req) den
|
?: ?=(^ cew.req) den
|
||||||
@ -3739,8 +3735,7 @@
|
|||||||
[[hen %give %cruz cez.ruf]~ ..^$]
|
[[hen %give %cruz cez.ruf]~ ..^$]
|
||||||
::
|
::
|
||||||
$crow
|
$crow
|
||||||
=+ rom=(fall (~(get by fat.ruf) our.req) *room)
|
=/ des ~(tap by dos.rom.ruf)
|
||||||
=+ des=~(tap by dos.rom)
|
|
||||||
=| rus/(map desk {r/regs w/regs})
|
=| rus/(map desk {r/regs w/regs})
|
||||||
|^
|
|^
|
||||||
?~ des [[hen %give %croz rus]~ ..^^$]
|
?~ des [[hen %give %croz rus]~ ..^^$]
|
||||||
@ -3764,7 +3759,7 @@
|
|||||||
::
|
::
|
||||||
$drop
|
$drop
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) [. .]:our.req des.req)
|
=/ den ((de our now hen ruf) our des.req)
|
||||||
abet:drop-me:den
|
abet:drop-me:den
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
::
|
::
|
||||||
@ -3783,17 +3778,12 @@
|
|||||||
?: =(%$ des.req)
|
?: =(%$ des.req)
|
||||||
[~ ..^$]
|
[~ ..^$]
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) [. .]:our.req des.req)
|
=/ den ((de our now hen ruf) our des.req)
|
||||||
abet:(edit:den now dit.req)
|
abet:(edit:den now dit.req)
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
::
|
::
|
||||||
$init
|
$init
|
||||||
:- ~
|
[~ ..^$(hun.rom.ruf hen)]
|
||||||
%_ ..^$
|
|
||||||
fat.ruf
|
|
||||||
?< (~(has by fat.ruf) our.req)
|
|
||||||
(~(put by fat.ruf) our.req [-(hun hen)]:[*room .])
|
|
||||||
==
|
|
||||||
::
|
::
|
||||||
$into
|
$into
|
||||||
=. hez.ruf `hen
|
=. hez.ruf `hen
|
||||||
@ -3804,11 +3794,8 @@
|
|||||||
=+ ^- bem/beam
|
=+ ^- bem/beam
|
||||||
?^ bem
|
?^ bem
|
||||||
u.bem
|
u.bem
|
||||||
[[?>(?=(^ fat.ruf) p.n.fat.ruf) %base %ud 1] ~]
|
[[our %base %ud 1] ~]
|
||||||
=+ rom=(~(get by fat.ruf) p.bem)
|
=/ dos (~(get by dos.rom.ruf) q.bem)
|
||||||
?~ rom
|
|
||||||
~
|
|
||||||
=+ dos=(~(get by dos.u.rom) q.bem)
|
|
||||||
?~ dos
|
?~ dos
|
||||||
~
|
~
|
||||||
?: =(0 let.dom.u.dos)
|
?: =(0 let.dom.u.dos)
|
||||||
@ -3820,18 +3807,18 @@
|
|||||||
?=($mime p.p.b)
|
?=($mime p.p.b)
|
||||||
?=({$hoon ~} (slag (dec (lent a)) a))
|
?=({$hoon ~} (slag (dec (lent a)) a))
|
||||||
==
|
==
|
||||||
:~ [hen %pass /one %c %info p.bem q.bem %& one]
|
:~ [hen %pass /one %c %info our q.bem %& one]
|
||||||
[hen %pass /two %c %info p.bem q.bem %& two]
|
[hen %pass /two %c %info our q.bem %& two]
|
||||||
==
|
==
|
||||||
=+ yak=(~(got by hut.ran.ruf) (~(got by hit.dom.u.dos) let.dom.u.dos))
|
=+ yak=(~(got by hut.ran.ruf) (~(got by hit.dom.u.dos) let.dom.u.dos))
|
||||||
=+ cos=(mode-to-soba q.yak (flop s.bem) all.req fis.req)
|
=+ cos=(mode-to-soba q.yak (flop s.bem) all.req fis.req)
|
||||||
[hen %pass /both %c %info p.bem q.bem %& cos]~
|
[hen %pass /both %c %info our q.bem %& cos]~
|
||||||
::
|
::
|
||||||
$merg :: direct state up
|
$merg :: direct state up
|
||||||
?: =(%$ des.req)
|
?: =(%$ des.req)
|
||||||
[~ ..^$]
|
[~ ..^$]
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) [. .]:our.req des.req)
|
=/ den ((de our now hen ruf) our des.req)
|
||||||
abet:abet:(start:(me:ze:den [her.req dem.req] ~ &) cas.req how.req)
|
abet:abet:(start:(me:ze:den [her.req dem.req] ~ &) cas.req how.req)
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
::
|
::
|
||||||
@ -3844,14 +3831,11 @@
|
|||||||
=* bem bem.req
|
=* bem bem.req
|
||||||
=. mon.ruf
|
=. mon.ruf
|
||||||
(~(put by mon.ruf) des.req [p.bem q.bem r.bem] s.bem)
|
(~(put by mon.ruf) des.req [p.bem q.bem r.bem] s.bem)
|
||||||
=+ yar=(~(get by fat.ruf) p.bem)
|
=/ dos (~(get by dos.rom.ruf) q.bem)
|
||||||
?~ yar
|
|
||||||
[~ ..^$]
|
|
||||||
=+ dos=(~(get by dos.u.yar) q.bem)
|
|
||||||
?~ dos
|
?~ dos
|
||||||
[~ ..^$]
|
[~ ..^$]
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) [. .]:p.bem q.bem)
|
=/ den ((de our now hen ruf) p.bem q.bem)
|
||||||
abet:(mont:den des.req bem)
|
abet:(mont:den des.req bem)
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
::
|
::
|
||||||
@ -3889,8 +3873,7 @@
|
|||||||
::
|
::
|
||||||
$perm
|
$perm
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
::TODO after new boot system, just use our from global.
|
=/ den ((de our now hen ruf) our des.req)
|
||||||
=+ den=((de now hen ruf) [. .]:our.req des.req)
|
|
||||||
abet:(perm:den pax.req rit.req)
|
abet:(perm:den pax.req rit.req)
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
::
|
::
|
||||||
@ -3906,7 +3889,7 @@
|
|||||||
?> ?=($warp -.req)
|
?> ?=($warp -.req)
|
||||||
=* rif rif.req
|
=* rif rif.req
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) wer.req p.rif)
|
=/ den ((de our now hen ruf) q.wer.req p.rif)
|
||||||
=< abet
|
=< abet
|
||||||
?~ q.rif
|
?~ q.rif
|
||||||
cancel-request:den
|
cancel-request:den
|
||||||
@ -3933,7 +3916,7 @@
|
|||||||
=+ syd=(slav %tas i.t.pax)
|
=+ syd=(slav %tas i.t.pax)
|
||||||
=+ inx=(slav %ud i.t.t.pax)
|
=+ inx=(slav %ud i.t.t.pax)
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) [our wer] syd)
|
=/ den ((de our now hen ruf) wer syd)
|
||||||
abet:(take-foreign-update:den inx ((hard (unit rand)) res.req))
|
abet:(take-foreign-update:den inx ((hard (unit rand)) res.req))
|
||||||
[[[hen %give %mack ~] mos] ..^$]
|
[[[hen %give %mack ~] mos] ..^$]
|
||||||
::
|
::
|
||||||
@ -3942,7 +3925,7 @@
|
|||||||
:^ hen %give %mass
|
:^ hen %give %mass
|
||||||
:- %clay
|
:- %clay
|
||||||
:- %|
|
:- %|
|
||||||
:~ domestic+[%& fat.ruf]
|
:~ domestic+[%& rom.ruf]
|
||||||
foreign+[%& hoy.ruf]
|
foreign+[%& hoy.ruf]
|
||||||
:- %object-store :- %|
|
:- %object-store :- %|
|
||||||
:~ commits+[%& hut.ran.ruf]
|
:~ commits+[%& hut.ran.ruf]
|
||||||
@ -3953,80 +3936,11 @@
|
|||||||
::
|
::
|
||||||
++ load
|
++ load
|
||||||
=> |%
|
=> |%
|
||||||
++ rove-0
|
++ axle $%([%1 ruf=raft])
|
||||||
$% {$sing p/mood}
|
|
||||||
{$next p/mood q/cach}
|
|
||||||
$: $mult
|
|
||||||
p/mool
|
|
||||||
q/(unit aeon)
|
|
||||||
r/(map (pair care path) cach)
|
|
||||||
s/(map (pair care path) cach)
|
|
||||||
==
|
|
||||||
{$many p/? q/moat r/(map path lobe)}
|
|
||||||
==
|
|
||||||
++ wove-0 (cork wove |=(a/wove a(q (rove-0 q.a))))
|
|
||||||
++ cult-0 (jug wove-0 duct)
|
|
||||||
++ dojo-0 (cork dojo |=(a/dojo a(qyx *cult-0)))
|
|
||||||
++ rede-0 (cork rede |=(a/rede a(qyx *cult-0)))
|
|
||||||
++ room-0 (cork room |=(a/room a(dos (~(run by dos.a) dojo-0))))
|
|
||||||
++ rung-0 (cork rung |=(a/rung a(rus (~(run by rus.a) rede-0))))
|
|
||||||
++ raft-0
|
|
||||||
%+ cork raft
|
|
||||||
|= a/raft
|
|
||||||
%= a
|
|
||||||
fat (~(run by fat.a) room-0)
|
|
||||||
hoy (~(run by hoy.a) rung-0)
|
|
||||||
==
|
|
||||||
::
|
|
||||||
++ axle $%({$1 ruf/raft} {$0 ruf/raft-0})
|
|
||||||
--
|
--
|
||||||
|= old/axle
|
|= old=axle
|
||||||
^+ ..^$
|
^+ ..^$
|
||||||
?- -.old
|
..^$(ruf ruf.old)
|
||||||
$1
|
|
||||||
..^$(ruf ruf.old)
|
|
||||||
::
|
|
||||||
$0
|
|
||||||
|^
|
|
||||||
=- ^$(old [%1 -])
|
|
||||||
=+ ruf.old
|
|
||||||
:* (~(run by fat) rom)
|
|
||||||
(~(run by hoy) run)
|
|
||||||
ran mon hez ~ ~ *@da
|
|
||||||
==
|
|
||||||
::
|
|
||||||
++ wov
|
|
||||||
|= a/wove-0
|
|
||||||
^- wove
|
|
||||||
:- p.a
|
|
||||||
?. ?=($next -.q.a) q.a
|
|
||||||
[%next p.q.a ~ q.q.a]
|
|
||||||
::
|
|
||||||
++ cul
|
|
||||||
|= a/cult-0
|
|
||||||
^- cult
|
|
||||||
%- ~(gas by *cult)
|
|
||||||
%+ turn ~(tap by a)
|
|
||||||
|= {p/wove-0 q/(set duct)}
|
|
||||||
[(wov p) q]
|
|
||||||
::
|
|
||||||
++ rom
|
|
||||||
|= room-0
|
|
||||||
^- room
|
|
||||||
:- hun
|
|
||||||
%- ~(run by dos)
|
|
||||||
|= d/dojo-0
|
|
||||||
^- dojo
|
|
||||||
d(qyx (cul qyx.d))
|
|
||||||
::
|
|
||||||
++ run
|
|
||||||
|= a/rung-0
|
|
||||||
=- a(rus (~(run by rus.a) -))
|
|
||||||
|= r/rede-0
|
|
||||||
^- rede
|
|
||||||
r(qyx (cul qyx.r))
|
|
||||||
--
|
|
||||||
==
|
|
||||||
::
|
::
|
||||||
++ scry :: inspect
|
++ scry :: inspect
|
||||||
|= {fur/(unit (set monk)) ren/@tas why/shop syd/desk lot/coin tyl/path}
|
|= {fur/(unit (set monk)) ren/@tas why/shop syd/desk lot/coin tyl/path}
|
||||||
@ -4035,7 +3949,6 @@
|
|||||||
=* his p.why
|
=* his p.why
|
||||||
:: ~& scry+[ren `path`[(scot %p his) syd ~(rent co lot) tyl]]
|
:: ~& scry+[ren `path`[(scot %p his) syd ~(rent co lot) tyl]]
|
||||||
:: =- ~& %scry-done -
|
:: =- ~& %scry-done -
|
||||||
=+ got=(~(has by fat.ruf) his)
|
|
||||||
=+ luk=?.(?=(%$ -.lot) ~ ((soft case) p.lot))
|
=+ luk=?.(?=(%$ -.lot) ~ ((soft case) p.lot))
|
||||||
?~ luk [~ ~]
|
?~ luk [~ ~]
|
||||||
?: =(%$ ren)
|
?: =(%$ ren)
|
||||||
@ -4050,7 +3963,7 @@
|
|||||||
?: ?=(%| -.m) ~
|
?: ?=(%| -.m) ~
|
||||||
?: =(p.m his) ~
|
?: =(p.m his) ~
|
||||||
`p.m
|
`p.m
|
||||||
=+ den=((de now [/scryduct ~] ruf) [. .]:his syd)
|
=/ den ((de our now [/scryduct ~] ruf) his syd)
|
||||||
=+ (aver:den for u.run u.luk tyl)
|
=+ (aver:den for u.run u.luk tyl)
|
||||||
?~ - -
|
?~ - -
|
||||||
?~ u.- -
|
?~ u.- -
|
||||||
@ -4063,20 +3976,16 @@
|
|||||||
^+ [*(list move) ..^$]
|
^+ [*(list move) ..^$]
|
||||||
?: ?=({$merge @ @ @ @ @ ~} tea)
|
?: ?=({$merge @ @ @ @ @ ~} tea)
|
||||||
?> ?=(?($writ $made) +<.q.hin)
|
?> ?=(?($writ $made) +<.q.hin)
|
||||||
=+ our=(slav %p i.t.tea)
|
|
||||||
=* syd i.t.t.tea
|
=* syd i.t.t.tea
|
||||||
=+ her=(slav %p i.t.t.t.tea)
|
=+ her=(slav %p i.t.t.t.tea)
|
||||||
=* sud i.t.t.t.t.tea
|
=* sud i.t.t.t.t.tea
|
||||||
=* sat i.t.t.t.t.t.tea
|
=* sat i.t.t.t.t.t.tea
|
||||||
=+ dat=?-(+<.q.hin $writ [%& p.q.hin], $made [%| result.q.hin])
|
=+ dat=?-(+<.q.hin $writ [%& p.q.hin], $made [%| result.q.hin])
|
||||||
=+ ^- kan/(unit dome)
|
=/ kan=(unit dome)
|
||||||
%+ biff (~(get by fat.ruf) her)
|
%+ bind (~(get by dos.rom.ruf) sud)
|
||||||
|= room
|
|=(a=dojo dom.a)
|
||||||
%+ bind (~(get by dos) sud)
|
|
||||||
|= dojo
|
|
||||||
dom
|
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) [. .]:our syd)
|
=/ den ((de our now hen ruf) our syd)
|
||||||
abet:abet:(route:(me:ze:den [her sud] kan |) sat dat)
|
abet:abet:(route:(me:ze:den [her sud] kan |) sat dat)
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
?: ?=({$blab care @ @ *} tea)
|
?: ?=({$blab care @ @ *} tea)
|
||||||
@ -4103,76 +4012,68 @@
|
|||||||
?+ -.tea !!
|
?+ -.tea !!
|
||||||
$inserting
|
$inserting
|
||||||
?> ?=({@ @ @ ~} t.tea)
|
?> ?=({@ @ @ ~} t.tea)
|
||||||
=+ our=(slav %p i.t.tea)
|
|
||||||
=+ syd=(slav %tas i.t.t.tea)
|
=+ syd=(slav %tas i.t.t.tea)
|
||||||
=+ wen=(slav %da i.t.t.t.tea)
|
=+ wen=(slav %da i.t.t.t.tea)
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) [. .]:our syd)
|
=/ den ((de our now hen ruf) our syd)
|
||||||
abet:(take-inserting:den wen result.q.hin)
|
abet:(take-inserting:den wen result.q.hin)
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
::
|
::
|
||||||
$diffing
|
$diffing
|
||||||
?> ?=({@ @ @ ~} t.tea)
|
?> ?=({@ @ @ ~} t.tea)
|
||||||
=+ our=(slav %p i.t.tea)
|
|
||||||
=+ syd=(slav %tas i.t.t.tea)
|
=+ syd=(slav %tas i.t.t.tea)
|
||||||
=+ wen=(slav %da i.t.t.t.tea)
|
=+ wen=(slav %da i.t.t.t.tea)
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) [. .]:our syd)
|
=/ den ((de our now hen ruf) our syd)
|
||||||
abet:(take-diffing:den wen result.q.hin)
|
abet:(take-diffing:den wen result.q.hin)
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
::
|
::
|
||||||
$castifying
|
$castifying
|
||||||
?> ?=({@ @ @ ~} t.tea)
|
?> ?=({@ @ @ ~} t.tea)
|
||||||
=+ our=(slav %p i.t.tea)
|
|
||||||
=+ syd=(slav %tas i.t.t.tea)
|
=+ syd=(slav %tas i.t.t.tea)
|
||||||
=+ wen=(slav %da i.t.t.t.tea)
|
=+ wen=(slav %da i.t.t.t.tea)
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) [. .]:our syd)
|
=/ den ((de our now hen ruf) our syd)
|
||||||
abet:(take-castify:den wen result.q.hin)
|
abet:(take-castify:den wen result.q.hin)
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
::
|
::
|
||||||
$mutating
|
$mutating
|
||||||
?> ?=({@ @ @ ~} t.tea)
|
?> ?=({@ @ @ ~} t.tea)
|
||||||
=+ our=(slav %p i.t.tea)
|
|
||||||
=+ syd=(slav %tas i.t.t.tea)
|
=+ syd=(slav %tas i.t.t.tea)
|
||||||
=+ wen=(slav %da i.t.t.t.tea)
|
=+ wen=(slav %da i.t.t.t.tea)
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) [. .]:our syd)
|
=/ den ((de our now hen ruf) our syd)
|
||||||
abet:(take-mutating:den wen result.q.hin)
|
abet:(take-mutating:den wen result.q.hin)
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
::
|
::
|
||||||
$patching
|
$patching
|
||||||
?> ?=({@ @ ~} t.tea)
|
?> ?=({@ @ ~} t.tea)
|
||||||
=+ our=(slav %p i.t.tea)
|
|
||||||
=+ syd=(slav %tas i.t.t.tea)
|
=+ syd=(slav %tas i.t.t.tea)
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) [. .]:our syd)
|
=/ den ((de our now hen ruf) our syd)
|
||||||
abet:(take-patch:den result.q.hin)
|
abet:(take-patch:den result.q.hin)
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
::
|
::
|
||||||
$ergoing
|
$ergoing
|
||||||
?> ?=({@ @ ~} t.tea)
|
?> ?=({@ @ ~} t.tea)
|
||||||
=+ our=(slav %p i.t.tea)
|
|
||||||
=+ syd=(slav %tas i.t.t.tea)
|
=+ syd=(slav %tas i.t.t.tea)
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) [. .]:our syd)
|
=/ den ((de our now hen ruf) our syd)
|
||||||
abet:(take-ergo:den result.q.hin)
|
abet:(take-ergo:den result.q.hin)
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
::
|
::
|
||||||
$foreign-plops
|
$foreign-plops
|
||||||
?> ?=({@ @ @ @ ~} t.tea)
|
?> ?=({@ @ @ @ ~} t.tea)
|
||||||
=+ our=(slav %p i.t.tea)
|
|
||||||
=+ her=(slav %p i.t.t.tea)
|
=+ her=(slav %p i.t.t.tea)
|
||||||
=* syd i.t.t.t.tea
|
=* syd i.t.t.t.tea
|
||||||
=+ lem=(slav %da i.t.t.t.t.tea)
|
=+ lem=(slav %da i.t.t.t.t.tea)
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) [our her] syd)
|
=/ den ((de our now hen ruf) her syd)
|
||||||
abet:(take-foreign-plops:den ?~(lem ~ `lem) result.q.hin)
|
abet:(take-foreign-plops:den ?~(lem ~ `lem) result.q.hin)
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
::
|
::
|
||||||
$foreign-x
|
$foreign-x
|
||||||
?> ?=({@ @ @ @ @ *} t.tea)
|
?> ?=({@ @ @ @ @ *} t.tea)
|
||||||
=+ our=(slav %p i.t.tea)
|
|
||||||
=+ her=(slav %p i.t.t.tea)
|
=+ her=(slav %p i.t.t.tea)
|
||||||
=+ syd=(slav %tas i.t.t.t.tea)
|
=+ syd=(slav %tas i.t.t.t.tea)
|
||||||
=+ car=((hard care) i.t.t.t.t.tea)
|
=+ car=((hard care) i.t.t.t.t.tea)
|
||||||
@ -4182,7 +4083,7 @@
|
|||||||
->+
|
->+
|
||||||
=* pax t.t.t.t.t.t.tea
|
=* pax t.t.t.t.t.t.tea
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=+ den=((de now hen ruf) [our her] syd)
|
=/ den ((de our now hen ruf) her syd)
|
||||||
abet:(take-foreign-x:den car cas pax result.q.hin)
|
abet:(take-foreign-x:den car cas pax result.q.hin)
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
==
|
==
|
||||||
@ -4210,19 +4111,14 @@
|
|||||||
?> =(hen queued-duct)
|
?> =(hen queued-duct)
|
||||||
::
|
::
|
||||||
(call hen [-:!>(*task:able) queued-task])
|
(call hen [-:!>(*task:able) queued-task])
|
||||||
:: =+ dal=(turn ~(tap by fat.ruf) |=([a=@p b=room] a))
|
:: =^ mos=(list move) une
|
||||||
:: =| mos=(list move)
|
:: wake:(un our now hen ruf)
|
||||||
:: |- ^- [p=(list move) q=_..^^$]
|
:: [mos ..^^$]
|
||||||
:: ?~ dal [mos ..^^$]
|
|
||||||
:: =+ une=(un i.dal now hen ruf)
|
|
||||||
:: =^ som une wake:une
|
|
||||||
:: $(dal t.dal, ruf abet:une, mos (weld som mos))
|
|
||||||
::
|
::
|
||||||
$writ
|
$writ
|
||||||
?> ?=({@ @ *} tea)
|
?> ?=({@ @ *} tea)
|
||||||
~| i=i.tea
|
~| i=i.tea
|
||||||
~| it=i.t.tea
|
~| it=i.t.tea
|
||||||
=+ our=(slav %p i.tea)
|
|
||||||
=+ him=(slav %p i.t.tea)
|
=+ him=(slav %p i.t.tea)
|
||||||
:_ ..^$
|
:_ ..^$
|
||||||
:~ :* hen %pass /writ-want %a
|
:~ :* hen %pass /writ-want %a
|
||||||
|
@ -451,7 +451,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _clay-gate]
|
^- [tang _clay-gate]
|
||||||
::
|
::
|
||||||
=/ clay-core (clay-gate our=~zod now=now eny=`@`0xdead.beef scry=scry)
|
=/ clay-core (clay-gate our=~nul now=now eny=`@`0xdead.beef scry=scry)
|
||||||
::
|
::
|
||||||
=^ moves clay-gate (call:clay-core call-args)
|
=^ moves clay-gate (call:clay-core call-args)
|
||||||
::
|
::
|
||||||
@ -472,7 +472,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _clay-gate]
|
^- [tang _clay-gate]
|
||||||
::
|
::
|
||||||
=/ clay-core (clay-gate our=~zod now=now eny=`@`0xdead.beef scry=scry)
|
=/ clay-core (clay-gate our=~nul now=now eny=`@`0xdead.beef scry=scry)
|
||||||
::
|
::
|
||||||
=^ moves clay-gate (call:clay-core call-args)
|
=^ moves clay-gate (call:clay-core call-args)
|
||||||
::
|
::
|
||||||
@ -490,7 +490,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _clay-gate]
|
^- [tang _clay-gate]
|
||||||
::
|
::
|
||||||
=/ clay-core (clay-gate our=~zod now=now eny=`@`0xdead.beef scry=scry)
|
=/ clay-core (clay-gate our=~nul now=now eny=`@`0xdead.beef scry=scry)
|
||||||
::
|
::
|
||||||
=^ moves clay-gate (take:clay-core take-args)
|
=^ moves clay-gate (take:clay-core take-args)
|
||||||
::
|
::
|
||||||
@ -511,7 +511,7 @@
|
|||||||
==
|
==
|
||||||
^- [tang _clay-gate]
|
^- [tang _clay-gate]
|
||||||
::
|
::
|
||||||
=/ clay-core (clay-gate our=~zod now=now eny=`@`0xdead.beef scry=scry)
|
=/ clay-core (clay-gate our=~nul now=now eny=`@`0xdead.beef scry=scry)
|
||||||
::
|
::
|
||||||
=^ moves clay-gate (take:clay-core take-args)
|
=^ moves clay-gate (take:clay-core take-args)
|
||||||
::
|
::
|
||||||
|
Loading…
Reference in New Issue
Block a user