App model 1.1 at least compiles.

This commit is contained in:
C. Guy Yarvin 2014-06-16 18:33:31 -07:00
parent 71c750afae
commit 39b72cbb5a
6 changed files with 269 additions and 167 deletions

View File

@ -1,4 +1,4 @@
!:
::
:: dill (4d), terminal handling
::
|= pit=vase

View File

@ -4,6 +4,7 @@
|= pit=vase
=> =~
|% :: interfaces
++ bead ,[p=(set beam) q=cage] :: computed result
++ chop ,[p=@ud q=@da] :: see
++ gift :: out result <-$
$% [%thou p=httr] :: raw http response
@ -41,9 +42,10 @@
++ riff ,[p=desk q=(unit rave)] :: see %clay
++ sign :: in result $-<
$% [%crud p=@tas q=(list tank)] :: by any
[%dumb p=chop] :: by %gall
[%helo p=path q=prod] :: by %batz
[%made p=(each bead (list tank))] :: by %ford
[%rasp p=cage] :: by %gall
[%rasp p=chop q=(unit cage)] :: by %gall
[%rush p=chop q=cage] :: by %gall
[%rust p=chop q=cage] :: by %gall
[%talk p=tank] :: by %batz
@ -141,7 +143,7 @@
$: cnt=@ud :: updates produced
toy=@ud :: updates sent
wan=(map ,@ud ,@ud) :: upno to reqno
red=(map ,@ud (each cage cage)) :: ready for pickup
red=(map ,@ud (unit (each cage cage))) :: ready for pickup
== ::
-- ::
|%
@ -279,6 +281,15 @@
?- -.sin
%crud
+>.$(mow [[hen %slip %d %flog sin] mow])
::
%dumb
?> ?=([%hoop @ @ @ @ ~] tea)
=+ ^= ouy
%- yolk:(gale (need (slaw %p i.t.tea)) i.t.t.tea)
(need (slaw %ud i.t.t.t.tea))
?~ ouy
+>.$
abet:work:abet:dumb:(yule:u.ouy i.t.t.t.t.tea)
::
%made
?. ?=([%honk @ @ @ ~] tea)
@ -293,7 +304,11 @@
(need (slaw %ud i.t.t.t.tea))
?~ ouy
+>.$
abet:work:abet:abet:(hear:(yule:u.ouy i.t.t.t.t.tea) %& p.sin)
=+ woy=(yule:u.ouy i.t.t.t.t.tea)
=< abet =< work =< abet
?~ q.sin
dumb:woy
(hear:woy `[%& u.q.sin])
::
?(%rush %rust)
=+ heq=?:(?=(%rust -.sin) [%& q.sin] [%| q.sin])
@ -303,7 +318,7 @@
(need (slaw %ud i.t.t.t.tea))
?~ ouy
+>.$
abet:work:abet:abet:(hear:(yule:u.ouy i.t.t.t.t.tea) heq)
abet:work:abet:(hear:(yule:u.ouy i.t.t.t.t.tea) `heq)
::
%thou :: remote return
?> ?=([@ @ *] tea)
@ -1013,13 +1028,13 @@
++ fapg :: dispatch %apg
|= [fur=(unit term) you=@p paw=path]
^- (unit seam)
?> ?=(^ fur)
=+ for=?^(fur u.fur %html)
?> ?=(^ paw)
:- ~
:* %apg
(need ((sand %tas) i.paw))
you
u.fur
for
(turn t.paw |=(a=@ `@ta`(need ((sand %ta) a))))
==
::
@ -1337,13 +1352,22 @@
+>.$(..ya (hone our num ses))
+>.$
::
++ busc :: seam result code
|= som=seam
^- @ud
?.(?=(%sil -.som) 200 p.som) :: 203 means a diff
++ bush :: error response
|= [cod=@ud msg=@t num=@ud]
^+ +>
=+ pup=(~(get by q.rey) num)
?~ pup +>.$
%= +>.$
q.rey
%+ ~(put by q.rey) num
%= u.pup
pez
`pest`[%fin %raw cod ~[content-type/'text/plain'] `(taco msg)]
==
==
::
++ bust
|= num=@ud
++ bust :: no-content response
|= [cod=@ud num=@ud]
^+ +>
=+ pup=(~(get by q.rey) num)
?~ pup +>.$
@ -1351,7 +1375,7 @@
%= +>.$
q.rey
%+ ~(put by q.rey) num
u.pup(pez [%fin %raw 204 *mess `*octs])
u.pup(pez [%fin %raw cod *mess `*octs])
==
::
++ inch :: function built
@ -1846,8 +1870,8 @@
|= [num=@ud app=term you=ship nap=@ud suc=term cnt=@ud]
^+ +>
=+ yon=(yolk nap)
?~ yon (bust num)
abet:abet:(hire:(yule:u.yon suc) cnt num)
?~ yon (bust 204 num)
abet:(hire:(yule:u.yon suc) cnt num)
::
++ yokg :: main call
|= [num=@ud app=term you=ship pax=path]
@ -1859,13 +1883,13 @@
|= [num=@ud app=term you=ship nap=@ud cnt=@ud jon=json]
^+ +>
=+ yon=(yolk nap)
?~ yon (bust num)
?~ yon (bust 204 num)
abet:(post:u.yon cnt num jon)
::
++ yoks :: subscribe
|= [num=@ud app=term you=ship nap=@ud suc=term pax=path]
=+ yon=(yolk nap)
?~ yon (bust num)
?~ yon (bust 204 num)
abet:(scud:u.yon suc num pax)
::
++ yoku :: unsubscribe
@ -1918,18 +1942,18 @@
%post
`note`[%mess [our app] you [%json !>(jon)]]
?. =(+(cnt) meg.siq)
+>.$(..yo (bust num))
abet:(hire:(yule %post) cnt num)
+>.$(..yo (bust 204 num))
(hire:(yule %post) cnt num)
::
++ scud :: subscribe
|= [suc=term num=@ud pax=path]
=. +>.$ (toss suc `note`[%show [our app] you pax])
abet:(hire:(yule suc) 0 num)
(hire:(yule suc) 0 num)
::
++ self :: request main
|= pax=path
^+ +>
abet:(hire:(yule:(toss %self [%show [our app] you pax]) %self) 0 nap)
(hire:(yule:(toss %self [%show [our app] you pax]) %self) 0 nap)
::
++ toss :: toss to gall
|= [suc=term noh=note]
@ -1951,7 +1975,7 @@
++ busk :: seam result
|= $: num=@ud
cnt=@ud
heq=(each cage cage)
huq=(unit (each cage cage))
==
^+ +>
=+ pup=(~(get by q.rey) num)
@ -1980,19 +2004,20 @@
suc
(rsh 3 2 (scot %ui +(cnt)))
==
?~ huq +>.$(..yo (bust 404 num))
%= +>.$
q.rey
%+ ~(put by q.rey) num
^- pimp
%= pip
pez %new
vaz [%instance (trip (rsh 3 2 (scot %ui nap)))]~
vaz [%port (trip (rsh 3 2 (scot %ui nap)))]~
sip sip
som ^- seam
:+ %sil
?:(-.heq 200 203)
?:(-.u.huq 200 203)
=+ bek=`beak`[our %main [%da now]]
=+ don=`silk`[%done ~ `cage`p.heq]
=+ don=`silk`[%done ~ `cage`p.u.huq]
^- silk
:^ %cast %mime bek
?~ fur.pip don
@ -2000,9 +2025,17 @@
==
==
::
++ dumb :: reset
^+ ..yu
=+ dum=(~(tap by wan.wig) ~)
|- ^+ ..yu
?~ dum amok
$(dum t.dum, ..yo (bust 404 q.i.dum))
::
++ hear :: produce
|= heq=(each cage cage)
^+ +>
|= huq=(unit (each cage cage))
^+ ..yu
=< abet
=+ cnt=cnt.wig
=+ dul=(~(get by wan.wig) cnt)
:: ~& :~ %yu-hear
@ -2012,13 +2045,14 @@
:: ==
=: cnt.wig +(cnt.wig)
wan.wig ?~(dul wan.wig (~(del by wan.wig) cnt.wig))
red.wig (~(put by red.wig) cnt.wig heq)
red.wig (~(put by red.wig) cnt.wig huq)
==
?~(dul +>.$ (busk u.dul cnt heq))
?~(dul +>.$ (busk u.dul cnt huq))
::
++ hire :: consume
|= [cnt=@ud num=@ud]
^+ +>
^+ ..yu
=< abet
:: ~& :~ %yu-hire
:: [%instance nap]
:: [%produced cnt.wig]
@ -2028,16 +2062,16 @@
:: ==
?: |((lth +(cnt) toy.wig) (gth cnt toy.wig))
~& [%hire-improper [%request cnt] [%dispatched toy.wig]]
+>.$(..yo (bust num))
+>.$(..yo (bust 204 num))
?: (gte cnt cnt.wig)
:: ~& %hire-wait
=+ old=(~(get by wan.wig) cnt)
=. wan.wig (~(put by wan.wig) cnt num)
+>.$(..yo ?~(old ..yo (bust u.old)))
+>.$(..yo ?~(old ..yo (bust 204 u.old)))
=+ rud=(~(get by red.wig) cnt)
?~ rud
:: ~& %hire-bust
+>.$(..yo (bust num))
+>.$(..yo (bust 204 num))
:: ~& %hire-send
(busk num cnt u.rud)
--

View File

@ -5,6 +5,7 @@
=> =~
:: structures
|%
++ bead ,[p=(set beam) q=cage] :: computed result
++ gift :: out result <-$
$% [%made p=(each bead (list tank))] :: computed result
== ::
@ -591,9 +592,14 @@
(fine cof [p.kas vax])
::
%done [cof %0 p.kas q.kas]
%dune
?~ q.kas (flaw cof [%leaf "not ready"]~)
[cof %0 p.kas u.q.kas]
%dude
=+ dog=$(kas q.kas)
?. ?=(%2 -.q.dog) dog
dog(p.q [p.kas p.q.dog])
::
%dune
?~ q.kas [cof [%2 [%leaf "no data"]~]]
$(kas [%done p.kas u.q.kas])
::
%mute (kale cof p.kas q.kas)
%pass

View File

@ -8,17 +8,17 @@
$: %0 :: state version
pol=(map ship mast) :: apps by ship
== ::
++ bead ,[p=(set beam) q=cage] :: computed result
++ bone ,@ud :: opaque duct
++ chop ,[p=@ud q=@da] :: revision/date
++ gift :: out result <-$
$% [%back p=?] :: %mess ack good/bad
[%crud p=@tas q=(list tank)] :: error
[%rasp p=cage] :: reaction message
[%rump p=chop] :: updates stop
[%crud p=@tas q=(list tank)] :: physical error
[%dumb p=chop] :: close duct
[%rasp p=chop q=(unit cage)] :: reaction message
[%rush p=chop q=cage] :: difference
[%rust p=chop q=cage] :: full update
[%meta p=vase] :: meta-gift
== ::
++ hasp ,[p=ship q=term] :: app identity
++ kiss :: in request ->$
@ -29,8 +29,9 @@
[%nuke p=hasp] :: clear duct
== ::
++ knob :: pending action
$% [%boot ~] :: boot/reboot
$% [%boot ~] :: begin boot
[%crud p=@tas q=(list tank)] :: error
[%load p=cage] :: continue boot
[%mess p=ship q=cage] :: message
[%show p=ship q=path] :: subscribe
[%nuke ~] :: clear duct
@ -60,12 +61,15 @@
++ seat :: the living app
$: huv=(unit vase) :: application vase
qic=(unit toil) :: current project
oot=(map duct (set path)) :: live fords
onz=(unit (pair duct path)) :: live fords
vey=(qeu toil) :: pending projects
nuc=(set duct) :: nuked ducts
tik=@ud :: build number
act=@ud :: action number
lat=@da :: last change
orm=(unit ,@da) :: build date
sup=(map bone (pair ship path)) :: subscribers
peq=(map (pair ship path) ,@uvI) :: peeks
ped=(set (pair ship desk)) :: active depends
zam=scar :: opaque ducts
== ::
@ -345,7 +349,7 @@
^- silk
[%done ~ cay]
::
++ deal :: advance tick
++ deal :: reboot
^+ .
=. tik.sat +(tik.sat)
=+ pys=(~(tap by sup.sat) ~)
@ -371,7 +375,7 @@
|=(a=(pair ship desk) (~(has in ped.sat) a))
|= a=(pair ship desk)
:- hun.mat
:^ %toss %c (away %s %drug (scot %p p.a) q.a ~)
:^ %toss %c (away %w %drug (scot %p p.a) q.a ~)
[%warp [our p.a] q.a ~ %| [%da now] [%da (add now ~d1000)]]
=+ ^= old ^- (list move)
%+ turn
@ -379,7 +383,7 @@
|=(a=(pair ship desk) (~(has in pen) a))
|= a=(pair ship desk)
:- hun.mat
:^ %toss %c (away %s %drug (scot %p p.a) q.a ~)
:^ %toss %c (away %w %drug (scot %p p.a) q.a ~)
[%warp [our p.a] q.a ~]
%_(+>.$ ped.sat pen, mow :(weld new old mow))
::
@ -398,29 +402,16 @@
::
++ ford :: exec to ford
|= [pax=path kas=silk]
(gawk %f [%s pax] [%exec our `kas])
::
++ gawk :: toss a note
|= [lal=term pax=path noy=note]
^+ +>
%_ +>
mow [[hen %toss lal (away pax) noy] mow]
oot.sat =+ vut=(~(get by oot.sat) hen)
=+ vit=?^(vut u.vut *(set path))
?< (~(has in vit) pax)
(~(put by oot.sat) hen (~(put in vit) pax))
mow :_(mow [hen %toss %f (away pax) [%exec our `kas]])
onz.sat `[hen pax]
==
::
++ give :: give a gift
|= gip=gift
%_(+> mow [[hen %give gip] mow])
::
++ gone %_(. qic.sat ~) :: done work
++ game :: invoke core
|= [[arm=term pax=path] vax=vase sam=vase]
%+ ford pax
[%call (harm arm (conf (core vax))) (cove %$ sam)]
::
++ harm :: arm as silk
|= [arm=term kas=silk]
^- silk
@ -431,23 +422,103 @@
:+ %boil %core
[[our %main [%da now]] app %app ~]
::
++ mack :: unpack stateful
|= qin=sign
?> ?=(%made -.qin)
^- [(unit (list tank)) _+>]
?- -.p.qin
& :- ~
%- obey:(morn (slot 3 q.q.p.p.qin))
(slot 2 q.q.p.p.qin)
| [`p.p.qin (give %crud %made p.p.qin)]
==
::
++ mick :: unpack depends
|= qin=sign
?> ?=(%made -.qin)
^- [(unit (set beam)) _+>]
?- -.p.qin
& :- `p.p.p.qin
%- obey:(morn (slot 3 q.q.p.p.qin))
(slot 2 q.q.p.p.qin)
| [~ (give %crud %made p.p.qin)]
==
::
++ mike :: unpack simple
|= qin=sign
^- [(unit cage) _+>]
?> ?=(%made -.qin)
?- -.p.qin
& =+ vax=`vase`q.q.p.p.qin
?. &(?=(^ q.vax) ?=(@ -.q.vax))
[~ (give %crud %mike *(list tank))]
:- `[((hard logo) -.q.vax) (slot 3 vax)]
+>.$
| [~ (give %crud %made p.p.qin)]
==
::
++ more :: accept result
|= $: pax=path :: internal position
hin=(hypo sign) :: typed event
==
^+ +>
:: ~& [%more pax -.q.hin]
=. oot.sat
?: ?=([%s %drug *] pax) oot.sat
=+ vut=(~(get by oot.sat) hen)
?~ vut
~& [%more-lost-a our app hen] !!
?. (~(has in u.vut) pax)
~& [%more-lost our app hen pax] !!
?: =(~ u.vut)
(~(del by oot.sat) hen)
(~(put by oot.sat) hen (~(del in u.vut) pax))
?: ?=([%u *] pax)
~& [%more-pax pax]
?+ -.pax !!
%s :: core operation
?> ?& ?=([@ @ *] t.pax)
!=(~ qic.sat)
=(`[hen pax] onz.sat)
==
=+ you=(need (slaw %p i.t.t.pax))
=: onz.sat ~
qic.sat ~
==
?+ i.t.pax !!
%park
=^ gyd +>.$ (mike q.hin)
?~ gyd
~& %park-lost
+>.$
~& %park-load
(quem %load u.gyd)
::
%peek
=^ gyd +>.$ (mike q.hin)
?~ gyd
(give [%dumb [tik.sat lat.sat]])
=+ kee=[you t.t.t.pax]
=+ ash=(sham q.q.u.gyd)
?: =(`ash (~(get by peq.sat) kee))
+>.$
%- %= give
peq.sat (~(put by peq.sat) kee ash)
sup.sat (~(put by sup.sat) ost kee)
==
[%rust [tik.sat lat.sat] u.gyd]
::
%peer
=^ gud +>.$ (mack q.hin)
?^ gud
(give [%dumb [tik.sat lat.sat]])
+>.$(sup.sat (~(put by sup.sat) ost [you t.t.t.pax]))
::
%poke
=^ gud +>.$ (mack q.hin)
?^ gud (give %rasp [tik.sat lat.sat] ~)
+>.$
::
%prep
=^ gad +>.$ (mick q.hin)
?~ gad (drum ~)
deal:(drum u.gad)
::
%pull
=^ gud +>.$ (mack q.hin)
?^ gud +>.$
+>.$(sup.sat (~(del by sup.sat) ost))
==
::
%u :: user request
?. ?=(%ruse -.q.hin)
~& [%more-card -.q.hin pax] !!
%_ +>.$
@ -455,21 +526,11 @@
%- ~(put to vey.sat)
[hen [%take t.pax (spec (slot 3 hin))]]
==
?> ?=([%s @ *] pax)
?+ i.t.pax !!
%boot
?> ?=([~ * %boot ~] qic.sat)
?> ?=(%made -.q.hin)
?- -.p.q.hin
& ~& [%boot-good our app tik.sat]
deal:(drum:(morn:gone q.q.p.p.q.hin) p.p.p.q.hin)
| ~& [%boot-lost our app tik.sat]
(drum:(mort:gone p.p.q.hin) ~)
==
::
%drug
?> ?=(%writ -.q.hin)
?> ?=([@ @ ~] t.t.pax)
%w :: autoboot
?> ?& ?=([%drug @ @ ~] t.pax)
?=(%writ -.q.hin)
==
=+ :* our=(need (slaw %p i.t.t.pax))
syd=(need ((sand %tas) i.t.t.t.pax))
==
@ -477,66 +538,43 @@
?~ p.q.hin
+>.$
+>.$(vey.sat (~(put to vey.sat) hen %boot ~))
::
%step
?> ?=(%made -.q.hin)
?- -.p.q.hin
& :: ~& %step-good
%- obey:(morn:gone (slot 3 q.q.p.p.q.hin))
(slot 2 q.q.p.p.q.hin)
| :: ~& %step-fail
(give %crud %made p.p.q.hin)
==
::
%show
?> ?=(%made -.q.hin)
?> ?=([@ *] t.t.pax)
=+ you=(need (slaw %p i.t.t.pax))
?- -.p.q.hin
& =. sup.sat (~(put by sup.sat) ost you t.t.t.pax)
%- obey:(morn:gone (slot 3 q.q.p.p.q.hin))
(slot 2 q.q.p.p.q.hin)
| :: ~& %step-fail
(give %crud %made p.p.q.hin)
==
==
::
++ morn :: successful boot
++ morn :: install core
|= vax=vase
^+ +>
%_(+> huv.sat `vax)
=+ new=?~(huv.sat & !=(+>+.q.vax +>+.q.u.huv.sat))
=. huv.sat `vax
?. new +>.$
=: act.sat +(act.sat)
lat.sat now
==
=+ pex=(~(tap by peq.sat) ~)
|- ^+ +>.^$
?~ pex +>.^$
~& [%morn-peek p.i.pex]
$(pex t.pex, +>.^$ (quem [%show p.i.pex]))
::
++ mort :: failed boot
|= tan=(list tank)
(give %crud %boot-lost tan)
::
++ nile [%done ~ [%$ [%cube 0 [%atom %n]] ~]] :: null silk
++ obey :: process result
++ obey :: process app moves
|= vax=vase
%_(+> mow (weld (flop (said vax)) mow))
::
++ quem :: queue action
|= kon=knob :: content
^+ +>
?. ?=(%nuke -.kon)
+>.$(vey.sat (~(put to vey.sat) hen kon))
?: (~(has in nuc.sat) hen)
~& [%quem-renuke hen]
+>.$
=+ vut=(~(get by oot.sat) hen)
=+ ^= ded ^- (list path)
?~(vut ~ (~(tap by u.vut) ~))
|- ^+ +>.^$
?~ ded
%= +>.^$
qic.sat ?.(&(?=(^ qic.sat) =(hen p.u.qic.sat)) qic.sat ~)
nuc.sat (~(put in nuc.sat) hen)
vey.sat (~(put to vey.sat) hen kon)
==
%= $
ded t.ded
mow [[hen [%toss %f (away i.ded) [%exec our ~]]] mow]
==
=. +> ?. ?=(%nuke -.kon) +>
?. &(?=(^ onz.sat) =(hen p.u.onz.sat)) +>
%= +>
onz.sat ~
mow
:_(mow [hen %toss %f (away q.u.onz.sat) [%exec our ~]])
==
+>.$(vey.sat (~(put to vey.sat) hen kon))
::
++ said
|= vud=vase
@ -555,8 +593,11 @@
|= vig=vase
^- gift
?+ q.vig [%meta vig]
[%dumb *] [%dumb [tik.sat lat.sat]]
[%rasp *]
:+ %rasp
[tik.sat lat.sat]
:+ ~
((hard lode) +<.q.vig)
(slot 7 vig)
::
@ -587,13 +628,14 @@
::
[%give p=[p=@tas q=*]]
[%give (sumo (spec (slot 3 caq)))]
::
[%slip p=@tas q=[p=@tas q=*]]
:+ %slip
(need ((sand %tas) ((hard ,@) p.q.caq)))
[%meta (spec (slot 7 caq))]
==
::
++ warm :: vase has arm
|= cog=@tas
^- ?
?~ huv.sat |
!=(~ q:(~(fino ut p.u.huv.sat) 0 %free cog))
::
++ work :: eat queue
|- ^+ +
?: |(?=(^ qic.sat) =(~ vey.sat)) +.$ :: nothing to do
@ -601,51 +643,69 @@
?: (~(has in nuc.sat) p.yev) $
work:(yawn:(bing p.yev) q.yev)
::
++ yawl :: invoke core
|= [[arm=term pax=path] vax=vase sam=vase]
^+ +>
%+ ford [%s arm pax]
[%call (harm arm (conf (core vax))) (cove %$ sam)]
::
++ yawn :: start event
|= kon=knob
^+ +>
:: ~& [%gall-yawn ost -.kon]
~& [%gall-yawn ost -.kon]
=. qic.sat `[hen kon]
?- -.kon
%boot
=. orm.sat `now
%+ ford /boot
%+ ford /s/park
^- silk
:+ %call
(harm %prep (conf home))
?~ huv.sat
nile
[nile (harm %save (conf (core u.huv.sat)))]
:- home
?~ huv.sat nile
?: =(~ q.u.huv.sat) nile
:- nile
?. (warm %park)
[%done ~ %$ (slot 13 u.huv.sat)]
(harm %park (conf (core u.huv.sat)))
::
%load
=+ [hom=(slot 2 q.p.kon) old=(slot 3 q.p.kon)]
%+ ford /s/prep
?. (warm(huv.sat `hom) %prep)
:- nile
:+ %mute `silk`(core hom)
:~ [[%$ 12]~ (cove p.kon)]
==
[%call (harm %prep (conf (core hom))) [nile (cave old)]]
::
%crud
?~ huv.sat
~& [%crud-none our app]
gone:(give %crud p.kon q.kon)
%^ game [%pain /step] u.huv.sat
!>([ost use p.kon])
(give(qic.sat ~) %crud p.kon q.kon)
::
%nuke
:: ~& %yawn-nuke
gone :: send unsubscribe
?. (warm %pull)
+>.$(qic.sat ~)
?> ?=(^ huv.sat)
(yawl [%pull ~] u.huv.sat [[%atom %ud] ost])
::
%mess
?~ huv.sat
~& [%mess-none our app]
gone:(give %back |)
%^ game [%poke /step] u.huv.sat
?. (warm %poke)
(give(qic.sat ~) %rasp [tik.sat lat.sat] ~)
?> ?=(^ huv.sat)
%^ yawl [%poke ~] u.huv.sat
:(slop [[%atom %ud] ost] [[%atom %p] p.kon] q.q.kon)
::
%show
?~ huv.sat
~& [%show-none our app]
gone
%^ game [%peer [%show (scot %p p.kon) q.kon]] u.huv.sat
!>([ost p.kon q.kon])
=+ sam=!>([ost p.kon q.kon])
?: (warm %peer)
?> ?=(^ huv.sat)
=. peq.sat (~(del by peq.sat) p.kon q.kon)
(yawl [%peer (scot %p p.kon) q.kon] u.huv.sat sam)
?: (warm %peek)
?> ?=(^ huv.sat)
(yawl [%peek (scot %p p.kon) q.kon] u.huv.sat sam)
(give(qic.sat ~) %dumb [tik.sat lat.sat])
::
%take
?> ?=(^ huv.sat)
%^ game [%peck /step] u.huv.sat
:(slop [[%atom %ud] ost] !>((ride use say)) !>(p.kon) q.kon)
!!
==
--
--

View File

@ -100,6 +100,7 @@
++ mart (list ,[n=mane v=tape]) :: XML attributes
++ marx $|(@tas [n=mane a=mart]) :: XML tag
++ metl ?(%gold %iron %zinc %lead) :: core variance
++ noun ,*
++ null ,~ :: null, nil, etc
++ odor ,@ta :: atom format
++ tarp ,[d=@ud h=@ud m=@ud s=@ud f=(list ,@ux)] :: parsed time
@ -9202,12 +9203,13 @@
++ glob ,[p=logo q=ship r=mark] :: global brand
++ herd (hypo curd) :: typed card
++ hide :: standard app state
$: own=[p=ship q=@tas] :: static identity
$: $: our=ship :: owner/operator
app=@tas :: app identity
== ::
sup=(map bone (pair ship path)) :: subscription set
$= seq :: dynamic sequence
$: tik=@ud :: boot number
num=@ud :: action number
eny=@ :: entropy
act=@ud :: action number
eny=@uvI :: entropy
lat=@da :: date of last tick
== == ::
++ hilt ?(0 1 2) :: lead iron gold

View File

@ -2023,7 +2023,6 @@
raz=(map path race) :: statements inbound
ryl=(map path rill) :: statements outbound
== ::
++ bead ,[p=(set beam) q=cage] :: computed result
++ beam ,[[p=ship q=desk r=case] s=path] :: global name
++ beak ,[p=ship q=desk r=case] :: garnish with beak
++ bird :: packet in travel
@ -2410,6 +2409,7 @@
[%call p=silk q=silk] :: slam
[%cast p=logo q=beak r=silk] :: translate
[%done p=(set beam) q=cage] :: literal
[%dude p=tank q=silk] :: error wrap
[%dune p=(set beam) q=(unit cage)] :: unit literal
[%mute p=silk q=(list (pair wing silk))] :: mutant
[%pass p=silk q=sill] :: twig construction