mirror of
https://github.com/ilyakooo0/urbit.git
synced 2025-01-02 20:15:27 +03:00
Development "branch" goes back to production.
This commit is contained in:
parent
875eec276d
commit
4de22868bb
160
arvo/ames.hoon
160
arvo/ames.hoon
@ -1,4 +1,4 @@
|
||||
::
|
||||
!:
|
||||
:: ames (4a), networking
|
||||
::
|
||||
|= pit=vase
|
||||
@ -236,7 +236,7 @@
|
||||
0w0 :: 125, ~wyt
|
||||
0w0 :: 126, ~nub
|
||||
0w0 :: 127, ~med
|
||||
0w20.GGLXx.aqxaQ.w4Iob.wdmmr :: 128, ~lyt, Daniel Nagy (fortuna)
|
||||
0w0 :: 128, ~lyt
|
||||
0w0 :: 129, ~dus
|
||||
0w0 :: 130, ~neb
|
||||
0w0 :: 131, ~rum
|
||||
@ -1012,19 +1012,8 @@
|
||||
^- [p=(list boon) q=fort]
|
||||
zork:zank:(wind:(ho:(um p.soq) q.soq) [q.sup r.sup] ham)
|
||||
::
|
||||
++ went :: went:am
|
||||
|= [soq=sock hen=duct cap=cape sup=soap] :: internal react
|
||||
^- [p=(list boon) q=fort]
|
||||
zork:(kick:(um p.soq) hen)
|
||||
::
|
||||
++ wert :: wert:am
|
||||
|= [soq=sock hen=duct inx=@ud rot=riot] :: serve a file
|
||||
^- [p=(list boon) q=fort]
|
||||
=+ ruv=(need (~(get by rop.fox) [inx soq]))
|
||||
(wise soq [/a hen] %ru [inx rot])
|
||||
::
|
||||
++ wise :: wise:am
|
||||
|= [soq=sock hen=duct cha=@ta val=*] :: send a statement
|
||||
|= [soq=sock hen=duct cha=path val=*] :: send a statement
|
||||
^- [p=(list boon) q=fort]
|
||||
zork:zank:(wool:(ho:(um p.soq) q.soq) hen cha val)
|
||||
::
|
||||
@ -1053,7 +1042,7 @@
|
||||
==
|
||||
::
|
||||
++ done :: done:ho:um:am
|
||||
|= [cha=@ta num=@ud] :: complete outgoing
|
||||
|= [cha=path num=@ud] :: complete outgoing
|
||||
^- [(unit duct) _+>]
|
||||
=+ rol=(need (~(get by ryl.bah) cha))
|
||||
=+ rix=(~(get by san.rol) num)
|
||||
@ -1142,21 +1131,27 @@
|
||||
+(+> (busk(diz (wast:diz ryn)) xong:diz pax))
|
||||
::
|
||||
++ coot :: coot:la:ho:um:am
|
||||
|= [cha=@ta rum=race] :: update input race
|
||||
|= [cha=path rum=race] :: update input race
|
||||
^+ +>
|
||||
=+ cun=(~(get by mis.rum) did.rum)
|
||||
?~ cun
|
||||
+>.$(raz.bah (~(put by raz.bah) cha rum))
|
||||
=. +>.$ cock(kay p.u.cun, dam q.u.cun)
|
||||
=. +>.$ ?. =(%good p.u.cun) +>.$
|
||||
(emit [%milk [our her] cha did.rum r.u.cun])
|
||||
?> ?=(^ r.u.cun)
|
||||
%- emit
|
||||
^- boon
|
||||
:^ %milk
|
||||
[our her]
|
||||
`soap`[[p:sen:gus clon:diz] cha did.rum]
|
||||
u.r.u.cun
|
||||
%= $
|
||||
mis.rum (~(del by mis.rum) did.rum)
|
||||
did.rum +(did.rum)
|
||||
==
|
||||
::
|
||||
++ dear :: dear:la:ho:um:am
|
||||
|= [cha=@ta num=@ud dut=(unit)] :: interpret message
|
||||
|= [cha=path num=@ud dut=(unit)] :: interpret message
|
||||
^+ +>
|
||||
=+ ^= rum ^- race
|
||||
=+ rum=(~(get by raz.bah) cha)
|
||||
@ -1177,7 +1172,7 @@
|
||||
%bond
|
||||
:: ~& [%bond q.fud r.fud]
|
||||
?> =(p:sen:gus p.fud)
|
||||
(dear q.fud r.fud ?-(kay ?(%dead %lost) ~, %good [~ s.fud]))
|
||||
(dear q.fud r.fud ?-(kay %dead ~, %good [~ s.fud]))
|
||||
::
|
||||
%carp
|
||||
=+ zol=(~(get by olz.weg) s.fud)
|
||||
@ -1254,7 +1249,7 @@
|
||||
:: ~& [%pong-no her]
|
||||
[| +>.$]
|
||||
:: ~& [%pong-yes now her]
|
||||
[& (wool [/a hen] %pi ~)]
|
||||
[& (wool [/a hen] /q/pi ~)]
|
||||
::
|
||||
++ thaw :: thaw:ho:um:am
|
||||
^+ . :: wakeup bomb
|
||||
@ -1277,7 +1272,7 @@
|
||||
%= +>.$
|
||||
bin
|
||||
:_ bin
|
||||
`boon`[%coke [our her] kay [[p:sen:gus clon:diz] u.p.yoh] u.hud]
|
||||
`boon`[%coke [our her] [[p:sen:gus clon:diz] u.p.yoh] kay u.hud]
|
||||
==
|
||||
(busk xong:diz q.yoh)
|
||||
::
|
||||
@ -1290,7 +1285,7 @@
|
||||
(busk xong:diz feh)
|
||||
::
|
||||
++ wool :: wool:ho:um:am
|
||||
|= [hen=duct cha=@ta val=*] :: send a statement
|
||||
|= [hen=duct cha=path val=*] :: send a statement
|
||||
^+ +>
|
||||
=+ ^= rol ^- rill
|
||||
=+ rol=(~(get by ryl.bah) cha)
|
||||
@ -1420,40 +1415,56 @@
|
||||
:* [[~ %gold p.bon] [/c hen] [%init p.bon]]
|
||||
[[~ %gold p.bon] hen [%init p.bon]]
|
||||
[[~ %gold p.bon] [/a hen] [%kick now]]
|
||||
=+ bos=(sein p.bon)
|
||||
=. bos ?.(=(bos p.bon) bos ~zod)
|
||||
?: =(~zod p.bon) ~
|
||||
:~ [[~ %iron p.bon] [/c hen] [%pull bos %main ~[%main]]]
|
||||
[[~ %iron p.bon] [/c hen] [%pull bos %spec ~[%spec]]]
|
||||
[[~ %iron p.bon] [/c hen] [%pull bos %try ~[%try]]]
|
||||
[[~ %iron p.bon] [/c hen] [%pull bos %arvo ~[%arvo]]]
|
||||
==
|
||||
~
|
||||
:: =+ bos=(sein p.bon)
|
||||
:: =. bos ?.(=(bos p.bon) bos ~zod)
|
||||
:: ?: =(~zod p.bon) ~
|
||||
:: :~ [[~ %iron p.bon] [/c hen] [%pull bos %main ~[%main]]]
|
||||
:: [[~ %iron p.bon] [/c hen] [%pull bos %spec ~[%spec]]]
|
||||
:: [[~ %iron p.bon] [/c hen] [%pull bos %try ~[%try]]]
|
||||
:: [[~ %iron p.bon] [/c hen] [%pull bos %arvo ~[%arvo]]]
|
||||
:: ==
|
||||
==
|
||||
::
|
||||
%coke
|
||||
:: ~& [%tz p.bon q.bon q.r.bon r.r.bon]
|
||||
:_ fox
|
||||
:~ [[~ %iron p.p.bon] s.bon [%went q.p.bon q.bon r.bon]]
|
||||
:~ [[~ %iron p.p.bon] s.bon [%went q.p.bon r.bon]]
|
||||
==
|
||||
::
|
||||
%mead :_(fox [[wru hen [%hear p.bon q.bon]] ~])
|
||||
%milk
|
||||
:: ~& [%rx p.bon q.bon r.bon !=(~ s.bon)]
|
||||
?+ q.bon
|
||||
:: ~& [%rx p.bon q.bon]
|
||||
?> ?=([@ *] q.q.bon)
|
||||
?: ?=(%r i.q.q.bon)
|
||||
?> ?=([@ @ *] t.q.q.bon)
|
||||
:_ fox
|
||||
:~ :+ [~ %iron p.p.bon]
|
||||
(claw p.p.bon)
|
||||
[%wart q.p.bon q.bon r.bon s.bon]
|
||||
=+ [cak=i.t.q.q.bon ven=i.t.t.q.q.bon]
|
||||
:~ :- [~ %iron p.p.bon]
|
||||
=+ neh=(claw p.p.bon)
|
||||
?> ?=(^ neh)
|
||||
:: ~& [%milk-waft [[ven `path`t.t.t.q.q.bon] t.neh]]
|
||||
:- ?: =(%c ven)
|
||||
?> =(%re cak)
|
||||
[[%c `path`t.t.t.q.q.bon] hen]
|
||||
[[ven `path`t.t.t.q.q.bon] t.neh]
|
||||
`card`[%waft q.p.bon r.bon]
|
||||
==
|
||||
::
|
||||
%hi :: %hi
|
||||
?> ?=(%q i.q.q.bon)
|
||||
?> ?=([@ *] t.q.q.bon)
|
||||
?+ i.t.q.q.bon
|
||||
:_ fox
|
||||
:~ :+ [~ %iron p.p.bon]
|
||||
(claw p.p.bon)
|
||||
`card`[%wart q.p.bon i.t.q.q.bon t.t.q.q.bon r.bon]
|
||||
==
|
||||
::
|
||||
%hi
|
||||
%= $
|
||||
bon
|
||||
:+ %wine p.bon
|
||||
^- tape
|
||||
?~ s.bon
|
||||
" is not feeling well"
|
||||
?: =(0 u.s.bon)
|
||||
?: =(0 r.bon)
|
||||
=+ hum=(end 0 3 (mug r.bon))
|
||||
?+ hum !!
|
||||
0 " was thinking about something else"
|
||||
@ -1465,71 +1476,29 @@
|
||||
6 " likes to let others speak"
|
||||
7 " sincerely wants to know more"
|
||||
==
|
||||
=+ str=(need ((sand %t) ((hard ,@) u.s.bon)))
|
||||
=+ str=(need ((sand %t) ((hard ,@) r.bon)))
|
||||
[':' ' ' (trip str)]
|
||||
==
|
||||
::
|
||||
%ye :: %ye
|
||||
:: ~& [%ye bon]
|
||||
?~ s.bon [~ fox]
|
||||
?> =(p.p.bon (sein q.p.bon))
|
||||
=+ ^= paz ^- (list ,@p)
|
||||
%+ skim pals:(~(um am [now fox]) p.p.bon)
|
||||
|=(a=@p =(p.p.bon (sein a)))
|
||||
:_ fox
|
||||
%+ turn paz
|
||||
|= him=ship
|
||||
:+ [~ %iron p.p.bon]
|
||||
[/a /a hen]
|
||||
[%want him %yu [q.p.bon u.s.bon]]
|
||||
::
|
||||
%yu :: %yu
|
||||
:: ~& [%yu bon]
|
||||
?. =(q.p.bon (sein p.p.bon)) [~ fox]
|
||||
?~ s.bon [~ fox]
|
||||
=+ dof=((hard ,[p=@p q=@t]) u.s.bon)
|
||||
$(bon [%milk [p.p.bon p.dof] %hi r.bon [~ q.dof]])
|
||||
::
|
||||
%pi :: %pi
|
||||
%pi
|
||||
$(bon [%wine p.bon " sent a ping"]) :: ping
|
||||
::
|
||||
%ta :: %ta
|
||||
?~ s.bon [~ fox] :: register
|
||||
=+ gox=((hard ,[p=@p q=@pG r=gens s=pass]) u.s.bon)
|
||||
%ta
|
||||
=+ gox=((hard ,[p=@p q=@pG r=gens s=pass]) r.bon)
|
||||
=+ gus=(need (~(us go ton.fox) p.p.bon))
|
||||
=^ wyl gus (born:gus now gox)
|
||||
=. ton.fox (~(su go ton.fox) gus)
|
||||
:_ fox
|
||||
:~ :+ [~ %iron p.p.bon]
|
||||
[/a /a hen]
|
||||
[%want q.p.bon %to `(unit will)`wyl]
|
||||
`card`[%want q.p.bon [%r %ta t.t.q.q.bon] `(unit will)`wyl]
|
||||
==
|
||||
::
|
||||
%re :: %re
|
||||
?~ s.bon [~ fox] :: file request
|
||||
=+ gox=((hard ,[p=@ud q=riff]) u.s.bon)
|
||||
=+ gut=(~(get by rop.fox) [p.gox p.bon])
|
||||
=. rop.fox
|
||||
?^ gut
|
||||
?>(?=(~ q.q.gox) (~(del by rop.fox) [p.gox p.bon]))
|
||||
?>(?=(^ q.q.gox) (~(put by rop.fox) [p.gox p.bon] q.gox))
|
||||
:_ fox
|
||||
:~ :+ [~ %iron p.p.bon]
|
||||
[/c [%a (scot %p q.p.bon) (scot %ud p.gox) ~] hen]
|
||||
[%warp p.p.bon q.gox]
|
||||
:~ :- [~ %iron p.p.bon]
|
||||
[[/c hen] `card`[%wart q.p.bon i.t.q.q.bon t.t.q.q.bon r.bon]]
|
||||
==
|
||||
::
|
||||
%ru :: %ru
|
||||
:_ fox
|
||||
:~ :+ [~ %iron p.p.bon] :: file response
|
||||
[/c (claw p.p.bon)]
|
||||
[%wart q.p.bon q.bon r.bon s.bon]
|
||||
==
|
||||
::
|
||||
%su :: %su
|
||||
?~ s.bon [~ fox]
|
||||
=+ gox=((hard ,@t) u.s.bon) :: suicide
|
||||
!!
|
||||
==
|
||||
::
|
||||
%ouzo
|
||||
@ -1586,20 +1555,9 @@
|
||||
%want
|
||||
?> ?=(^ wru)
|
||||
(~(wise am [now fox]) [q.u.wru p.fav] hen q.fav r.fav)
|
||||
::
|
||||
%went
|
||||
(~(went am [now fox]) [q.u.wru p.fav] hen q.fav r.fav)
|
||||
::
|
||||
%wake
|
||||
~(wake am [now fox])
|
||||
::
|
||||
%writ
|
||||
?> ?=(^ wru)
|
||||
?> ?=([@ @ ~] tea)
|
||||
=+ fyg=(slay i.tea)
|
||||
=+ haw=(slay i.t.tea)
|
||||
?> &(?=([~ %$ %p @] fyg) ?=([~ %$ %ud @] haw))
|
||||
(~(wert am [now fox]) [q.u.wru q.p.u.fyg] hen q.p.u.haw p.fav)
|
||||
==
|
||||
=> %_(. fox q.fuy)
|
||||
=| out=(list move)
|
||||
|
@ -1,4 +1,4 @@
|
||||
::
|
||||
!:
|
||||
:: batz (4b), shell
|
||||
::
|
||||
|= pit=vase
|
||||
@ -156,20 +156,22 @@
|
||||
[[[[~ %iron who] hen [%helo prot]] ~] +<.^^$]
|
||||
%noop [~ +<.^^$]
|
||||
%thee abet:lash:(lean tea hen fav)
|
||||
%waft :: ~& [%leap-waft fav]
|
||||
abet:lash:(lean tea hen fav)
|
||||
%went ?.((fear tea) [~ +<.^^$] abet:lash:(lean tea hen fav))
|
||||
%writ abet:lash:(loam tea hen +.fav)
|
||||
%wart (lion hen +.fav)
|
||||
==
|
||||
::
|
||||
++ loam :: loam:be
|
||||
|= [tea=wire hen=duct rot=riot] :: handle response
|
||||
|= [tea=wire hen=duct rot=riot] :: file response
|
||||
^+ *fi
|
||||
=+(a=(lead tea hen) abet:(gall:q.a p.a rot))
|
||||
::
|
||||
++ lion :: lion:be
|
||||
|= [hen=duct him=@p cha=@ta num=@ud val=(unit ,*)] :: handle message
|
||||
|= [hen=duct him=@p cak=@tas sic=path val=*] :: handle request
|
||||
^- [(list move) brat]
|
||||
=+ yes=(~(get by sev) cha)
|
||||
=+ yes=(~(get by sev) cak)
|
||||
?~ yes [~ +<.^^$]
|
||||
=+ sey=(~(tap by u.yes) *(list ,[p=@ud q=@ud r=wire]))
|
||||
|- ^- [(list move) brat]
|
||||
@ -180,7 +182,7 @@
|
||||
=< abet
|
||||
=< abet
|
||||
%- pong:(ox:(past:(fest p.i.sey hen) q.i.sey) r.i.sey)
|
||||
[%wart him cha num val]
|
||||
[%wart him cak sic val]
|
||||
=^ vun +<.^^^$ $(sey t.sey)
|
||||
[(weld von vun) +<.^^^$]
|
||||
::
|
||||
@ -349,6 +351,10 @@
|
||||
?~ rot
|
||||
%_(+>.$ ..ra (warn (spud (meat kit))), s.orb [%r ~])
|
||||
=+ tyk=`kite`[p.p.u.rot q.p.u.rot r.kit r.p.u.rot q.u.rot]
|
||||
?. =(kit tyk)
|
||||
~& [%kit kit]
|
||||
~& [%tyk tyk]
|
||||
!!
|
||||
?> =(kit tyk)
|
||||
+>.$(p.orb (~(del by p.orb) q.p.u.dup))
|
||||
::
|
||||
@ -662,14 +668,14 @@
|
||||
[s.kit ~ %& p.kit q.kit t.kit]
|
||||
::
|
||||
++ gump :: message server
|
||||
|= [ton=? cha=@tas gyp=@ud ted=@ud lap=wire]
|
||||
|= [ton=? cav=@ta gyp=@ud ted=@ud lap=wire]
|
||||
^+ +>
|
||||
=+ ^= yes ^- (set ,[p=@ud q=@ud r=wire])
|
||||
=+ yes=(~(get by sev) cha)
|
||||
=+ yes=(~(get by sev) cav)
|
||||
?~(yes ~ u.yes)
|
||||
%_ +>.$
|
||||
sev
|
||||
%+ ~(put by sev) cha
|
||||
%+ ~(put by sev) cav
|
||||
?: ton
|
||||
(~(put in yes) gyp ted lap)
|
||||
(~(del in yes) gyp ted lap)
|
||||
@ -740,6 +746,9 @@
|
||||
%ok (gram [/c ~] %info who p.gud q.gud)
|
||||
%sc good:+>.^$(sac ?~(p.gud ?~(sac ~ +.sac) [u.p.gud sac]))
|
||||
%sp !!
|
||||
%sq =+ tea=(bist %ma r.gud)
|
||||
(gram [/a [%b tea] ~] [%want p.gud [%q q.gud %b tea] s.gud])
|
||||
%sr (gram [/a /b ~] [%want p.gud [%r q.gud] r.gud])
|
||||
%te (gram ~ %tell p.gud)
|
||||
%th (gram [/e ~] %that p.gud q.gud)
|
||||
%va !!
|
||||
@ -770,10 +779,11 @@
|
||||
%es :: ~& %es-loss
|
||||
(gull (bist %ma lap) p.gal q.gal ~)
|
||||
%ht (gram [/e [%b (bist [%ma lap])] ~] [%band who ~])
|
||||
%oy (gump | p.gal gyp ted lap)
|
||||
%lq (gump | p.gal gyp ted lap)
|
||||
%ow +>
|
||||
%rt +>
|
||||
%up +>(..ra (hoop lap ted))
|
||||
%wa (gust gyp ted lap)
|
||||
%yo +>
|
||||
==
|
||||
::
|
||||
++ moor :: start goal
|
||||
@ -786,10 +796,11 @@
|
||||
%es :: ~& %es-moor
|
||||
(gull (bist %ma lap) p.gal q.gal [~ r.gal])
|
||||
%ht (gram [/e [%b (bist [%ma lap])] ~] [%band who p.gal])
|
||||
%oy (gump & p.gal [gyp ted lap])
|
||||
%lq (gump & p.gal [gyp ted lap])
|
||||
%ow +>
|
||||
%rt +>
|
||||
%up +>(..ra (hoot lap ted p.gal))
|
||||
%wa (gush p.gal gyp ted lap)
|
||||
%yo (gram [/a [%b (bist [%ma lap])] ~] [%want +.gal])
|
||||
==
|
||||
::
|
||||
++ ox :: per delivery
|
||||
@ -853,22 +864,29 @@
|
||||
%ht
|
||||
?> ?=(%thee -.fav)
|
||||
+>.$(+>.$ (glib lap [%ht +.fav]))
|
||||
::
|
||||
%lq
|
||||
?> ?=(%wart -.fav)
|
||||
+>.$(+>.$ (glib lap [%lq p.fav r.fav s.fav]))
|
||||
::
|
||||
%rt
|
||||
?: ?=(%went -.fav)
|
||||
?. ?=(%dead q.fav) +>.$
|
||||
+>.$(+>.$ (glib lap [%rt ~]))
|
||||
?> ?=(%waft -.fav)
|
||||
+>.$(+>.$ (glib lap [%rt ~ q.fav]))
|
||||
::
|
||||
%up
|
||||
?> ?=(%line -.fav)
|
||||
+>.$(+>.$ (glib lap [%up +.fav]))
|
||||
::
|
||||
%oy
|
||||
?> ?=(%wart -.fav)
|
||||
+>.$(+>.$ (glib lap [%oy +.fav]))
|
||||
%ow
|
||||
?> ?=(%went -.fav)
|
||||
+>.$(+>.$ (glib lap [%ow q.fav]))
|
||||
::
|
||||
%wa
|
||||
?> ?=(%wake -.fav)
|
||||
+>.$(+>.$ (glib lap [%wa ~]))
|
||||
::
|
||||
%yo
|
||||
?> ?=(%went -.fav)
|
||||
+>.$(lug ~, +>.$ (glib lap [%yo +.fav]))
|
||||
==
|
||||
--
|
||||
--
|
||||
@ -1082,6 +1100,11 @@
|
||||
|% :: poke/peek pattern
|
||||
++ beat :: process move
|
||||
|= [wru=(unit writ) tea=wire hen=duct fav=curd]
|
||||
=+ vaf=(card fav)
|
||||
?. =(vaf fav)
|
||||
~& [%fav fav]
|
||||
~& [%vaf vaf]
|
||||
!!
|
||||
=> .(fav ((hard card) fav))
|
||||
^- [p=(list move) q=vane]
|
||||
?: ?=([%crud *] fav)
|
||||
@ -1123,8 +1146,13 @@
|
||||
~|([%beat-none -.fav] !!)
|
||||
::
|
||||
%init
|
||||
=+ bos=(sein p.fav)
|
||||
=. bos ?.(=(bos p.fav) bos ~zod)
|
||||
?~ wru !!
|
||||
:- [[wru hen fav] ~]
|
||||
:- :- [wru hen fav]
|
||||
?: =(bos p.fav) ~
|
||||
:_ ~
|
||||
[wru [/b hen] [%line (rap 3 ":{(scow %p bos)}/main=/bin/update")]]
|
||||
..^$(dez (~(put by dez) hen [[q.u.wru (bard q.u.wru)] ~]))
|
||||
::
|
||||
?(%loin %make %sith)
|
||||
@ -1132,6 +1160,9 @@
|
||||
==
|
||||
?> ?=(^ u.dus)
|
||||
?+ -.fav
|
||||
=> ?. ?=(%writ -.fav) .
|
||||
:: ~& [%batz-writ tea]
|
||||
.
|
||||
?~ wru
|
||||
=+ ade=(adit hen)
|
||||
=+ hem=`helm`?-(ade %lead [%lead p.i.u.dus], %iron %iron, %gold %gold)
|
||||
@ -1142,9 +1173,14 @@
|
||||
..^$(dez (~(put by dez) hen [[p.i.u.dus +.q.yub] t.u.dus]))
|
||||
::
|
||||
%init
|
||||
=+ bos=(sein p.fav)
|
||||
=. bos ?.(=(bos p.fav) bos ~zod)
|
||||
?~ wru !!
|
||||
:- :~ [wru hen fav]
|
||||
:- :* [wru hen fav]
|
||||
[wru [[%b tea] hen] [%hail ~]]
|
||||
?: =(bos p.fav) ~
|
||||
:_ ~
|
||||
[wru [/b hen] [%line (rap 3 ":{(scow %p bos)}/main=/bin/update")]]
|
||||
==
|
||||
..^$(dez (~(put by dez) hen [[q.u.wru (bard q.u.wru)] u.dus]))
|
||||
::
|
||||
|
535
arvo/clay.hoon
535
arvo/clay.hoon
@ -1,4 +1,4 @@
|
||||
::
|
||||
!:
|
||||
:: clay (4c), revision control
|
||||
::
|
||||
|= pit=vase
|
||||
@ -15,7 +15,6 @@
|
||||
=+ yar=(~(get by fat.ruf) who)
|
||||
?~(yar *room u.yar)
|
||||
=| yel=(list ,[p=duct q=card])
|
||||
=| wot=(list ,[p=duct q=tape])
|
||||
=| byn=(list ,[p=duct q=riot])
|
||||
=| vag=(list ,[p=duct q=card])
|
||||
=| say=(list ,[p=duct q=ship r=[p=@ud q=riff]])
|
||||
@ -26,9 +25,6 @@
|
||||
;: weld
|
||||
%+ turn (flop yel)
|
||||
|=([a=duct b=card] [[~ %gold who] hun.yar b])
|
||||
::
|
||||
%+ turn (flop wot)
|
||||
|=([a=duct b=tape] [[~ %gold who] a [%wort b]])
|
||||
::
|
||||
%+ turn (flop byn)
|
||||
|=([a=duct b=riot] [[~ %gold who] a [%writ b]])
|
||||
@ -37,7 +33,10 @@
|
||||
|=([a=duct b=card] [[~ %gold who] a b])
|
||||
::
|
||||
%+ turn (flop say)
|
||||
|=([a=duct b=ship c=*] [[~ %gold who] [/a a] [%want b %re c]])
|
||||
|= [a=duct b=ship c=[p=@ud q=riff]]
|
||||
:+ [~ %gold who]
|
||||
[/a a]
|
||||
[%want b [%q %re p.q.c (scot %ud p.c) ~] q.c]
|
||||
==
|
||||
::
|
||||
++ doze
|
||||
@ -47,108 +46,39 @@
|
||||
?~ saz nex
|
||||
$(saz t.saz, nex (hunt nex doze:(di i.saz)))
|
||||
::
|
||||
++ fray
|
||||
|= [hen=duct pal=(list disc) sab=saba]
|
||||
^+ +>
|
||||
?~ pal +>
|
||||
$(pal t.pal, +> zoot:wake:(exec:(di i.pal) hen now [%| sab]))
|
||||
::
|
||||
++ wake
|
||||
^+ .
|
||||
=+ saz=(turn (~(tap by dos.yar) ~) |=([a=@tas b=*] a))
|
||||
|- ^+ ..wake
|
||||
?~ saz ..wake
|
||||
$(saz t.saz, ..wake zoot:wake:(di i.saz))
|
||||
$(saz t.saz, ..wake abet:wake:(di i.saz))
|
||||
::
|
||||
++ de :: per desk
|
||||
|_ [for=@p syd=@ta lim=@da qyx=cult dom=dome]
|
||||
++ aeon :: act count through
|
||||
|= lok=case
|
||||
^- (unit ,@ud)
|
||||
?- -.lok
|
||||
%da
|
||||
?: (gth p.lok lim) ~
|
||||
|- ^- (unit ,@ud)
|
||||
?~ hit.dom [~ let.dom]
|
||||
?: (gte p.lok p.i.hit.dom) [~ let.dom]
|
||||
$(hit.dom t.hit.dom, let.dom (dec let.dom))
|
||||
::
|
||||
%tas (~(get by lab.dom) p.lok)
|
||||
%ud ?:((gth p.lok let.dom) ~ [~ p.lok])
|
||||
|_ [for=@p syd=@ta rede]
|
||||
++ abet
|
||||
?: =(for who)
|
||||
%_(..de dos.yar (~(put by dos.yar) syd qyx dom))
|
||||
%_ ..de
|
||||
rid.yar
|
||||
=+ ^= rob ^- (map ,@tas rede)
|
||||
=+ rob=(~(get by rid.yar) for)
|
||||
?~(rob ~ u.rob)
|
||||
(~(put by rid.yar) for (~(put by rob) syd `rede`+<+>.abet))
|
||||
==
|
||||
::
|
||||
++ ache :: arch report
|
||||
^- arch
|
||||
:+ p.ank.dom
|
||||
?~(q.ank.dom ~ [~ p.u.q.ank.dom])
|
||||
|- ^- (map ,@ta ,~)
|
||||
?~ r.ank.dom ~
|
||||
[[p.n.r.ank.dom ~] $(r.ank.dom l.r.ank.dom) $(r.ank.dom r.r.ank.dom)]
|
||||
::
|
||||
++ amor :: endpoint query
|
||||
|= ren=?(%x %y %z)
|
||||
^- (unit ,*)
|
||||
?- ren
|
||||
%x ?~(q.ank.dom ~ [~ q.u.q.ank.dom])
|
||||
%y [~ ache]
|
||||
%z [~ ank.dom]
|
||||
==
|
||||
::
|
||||
++ ante :: rewind by change
|
||||
|= lem=maki
|
||||
^+ +>
|
||||
?- -.lem
|
||||
&
|
||||
%_ +>
|
||||
ank.dom ?. ?=(& -.p.lem) ank.dom
|
||||
ank:(dusk:(zu ank.dom) p.p.lem)
|
||||
lab.dom ?. ?=(| -.p.lem) lab.dom
|
||||
(~(del by lab.dom) p.p.lem)
|
||||
==
|
||||
::
|
||||
|
|
||||
|- ^+ +>.^$
|
||||
?~ s.p.lem +>.^$
|
||||
$(s.p.lem t.s.p.lem, +>.^$ ^$(lem i.s.p.lem))
|
||||
==
|
||||
::
|
||||
++ argo :: rewind to aeon
|
||||
|= oan=@ud
|
||||
^+ +>
|
||||
?: =(let.dom oan) +>
|
||||
?> ?=(^ hit.dom)
|
||||
?> ?=(& -.q.i.hit.dom)
|
||||
=> .(+> (ante q.i.hit.dom))
|
||||
$(let.dom (dec let.dom), hit.dom t.hit.dom)
|
||||
::
|
||||
++ auto :: read at point
|
||||
|= mun=mood
|
||||
^- (unit)
|
||||
?: ?=(%v p.mun)
|
||||
[~ dom]
|
||||
?: &(?=(%w p.mun) !?=(%ud -.q.mun))
|
||||
?^(r.mun ~ [~ let.dom])
|
||||
?: ?=(%w p.mun)
|
||||
?> ?=(^ hit.dom) ?^(r.mun ~ [~ i.hit.dom])
|
||||
(amor(ank.dom ank:(deny:(zu ank.dom) r.mun)) p.mun)
|
||||
::
|
||||
++ aver :: domestic read
|
||||
++ aver :: read
|
||||
|= mun=mood
|
||||
^- (unit (unit ,*))
|
||||
=+ nao=(aeon q.mun)
|
||||
?~(nao ~ [~ (avid u.nao mun)])
|
||||
::
|
||||
++ avid :: seek and read
|
||||
|= [oan=@ud mun=mood]
|
||||
^- (unit)
|
||||
?: &(?=(%w p.mun) !?=(%ud -.q.mun)) :: NB optimization
|
||||
?^(r.mun ~ [~ oan])
|
||||
(auto:(argo oan) mun)
|
||||
=+ ezy=?~(ref ~ (~(get by haw.u.ref) mun))
|
||||
?^ ezy ezy
|
||||
=+ nao=(~(aeon ze lim dom) q.mun)
|
||||
:: ~& [%aver-mun nao [%from syd lim q.mun]]
|
||||
?~(nao ~ [~ (~(avid ze lim dom) u.nao mun)])
|
||||
::
|
||||
++ balk :: read and send
|
||||
|= [hen=duct oan=@ud mun=mood]
|
||||
^+ +>
|
||||
=+ vid=(avid oan mun)
|
||||
=+ vid=(~(avid ze lim dom) oan mun)
|
||||
?~ vid (blob hen) (blab hen mun u.vid)
|
||||
::
|
||||
++ blab :: ship result
|
||||
@ -187,10 +117,35 @@
|
||||
==
|
||||
$(xiq t.xiq, nex (hunt nex zis))
|
||||
::
|
||||
++ ease :: unsubscribe
|
||||
++ duce :: produce request
|
||||
|= [hen=duct rav=rave]
|
||||
^+ +>
|
||||
=. qyx (~(put by qyx) hen rav)
|
||||
?~ ref +>
|
||||
=+ ^= vaw ^- rave
|
||||
?. ?=([%& %v *] rav) rav
|
||||
[%| [%ud let.dom] `case`q.p.rav]
|
||||
=+ inx=nix.u.ref
|
||||
%= +>.$
|
||||
say [[[[%c (scot %ud inx) ~] hen] 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)
|
||||
==
|
||||
::
|
||||
++ ease :: release request
|
||||
|= hen=duct
|
||||
^+ +>
|
||||
+>(qyx (~(del by qyx) hen))
|
||||
:: ~& [%ease [who for] hen]
|
||||
=. qyx (~(del by qyx) hen)
|
||||
?~ ref +>
|
||||
=+ nux=(~(get by fod.u.ref) hen)
|
||||
?~ nux +>.$
|
||||
%= +>.$
|
||||
say [[[[%c (scot %ud u.nux) ~] hen] for [u.nux syd ~]] say]
|
||||
fod.u.ref (~(del by fod.u.ref) hen)
|
||||
bom.u.ref (~(del by bom.u.ref) u.nux)
|
||||
==
|
||||
::
|
||||
++ eave :: subscribe
|
||||
|= [hen=duct rav=rave]
|
||||
@ -199,17 +154,17 @@
|
||||
&
|
||||
=+ ver=(aver p.rav)
|
||||
?~ ver
|
||||
+>.$(qyx (~(put by qyx) hen rav))
|
||||
(duce hen rav)
|
||||
?~ u.ver
|
||||
(blob hen)
|
||||
(blab hen p.rav u.u.ver)
|
||||
::
|
||||
|
|
||||
=+ nab=(aeon p.p.rav)
|
||||
=+ nab=(~(aeon ze lim dom) p.p.rav)
|
||||
?~ nab
|
||||
?> =(~ (aeon q.p.rav))
|
||||
+>.$(qyx (~(put by qyx) hen rav))
|
||||
=+ huy=(aeon q.p.rav)
|
||||
?> =(~ (~(aeon ze lim dom) q.p.rav))
|
||||
(duce hen rav)
|
||||
=+ huy=(~(aeon ze lim dom) q.p.rav)
|
||||
?: &(?=(^ huy) |((lth u.huy u.nab) &(=(0 u.huy) =(0 u.nab))))
|
||||
(blob hen)
|
||||
=+ top=?~(huy let.dom u.huy)
|
||||
@ -222,71 +177,102 @@
|
||||
=+ ^= ptr ^- case
|
||||
?: =(0 u.nab) [%da @da]
|
||||
=+(old=(slag wid seb) ?>(?=(^ old) `case`[%da p.i.old]))
|
||||
+>.$(qyx (~(put by qyx) hen `rave`[%| ptr q.p.rav]))
|
||||
(duce hen `rave`[%| ptr q.p.rav])
|
||||
==
|
||||
::
|
||||
++ edit :: apply changes
|
||||
|= [hen=duct wen=@da lem=maki]
|
||||
++ echo :: announce changes
|
||||
|= [hen=duct wen=@da lem=nori]
|
||||
^+ +>
|
||||
?- -.lem
|
||||
&
|
||||
%= +>.$
|
||||
ank.dom ?. ?=(& -.p.lem) ank.dom
|
||||
ank:(durn:(zu ank.dom) p.p.lem)
|
||||
let.dom +(let.dom)
|
||||
hit.dom :_(hit.dom [wen lem])
|
||||
lab.dom ?. ?=(| -.p.lem) lab.dom
|
||||
?< (~(has by lab.dom) p.p.lem)
|
||||
(~(put by lab.dom) p.p.lem let.dom)
|
||||
vag
|
||||
?~(hez.yar vag :_(vag [u.hez.yar [%ergo who syd +(let.dom)]]))
|
||||
::
|
||||
yel
|
||||
=+ pre=`path`~[(scot %p for) syd (scot %ud +(let.dom))]
|
||||
?- -.p.lem
|
||||
| :_ yel
|
||||
[hen %note '=' %leaf :(weld (trip p.p.lem) " " (spud pre))]
|
||||
& |- ^+ yel
|
||||
?~ q.p.p.lem yel
|
||||
:_ $(q.p.p.lem t.q.p.p.lem)
|
||||
:- hen
|
||||
:+ %note
|
||||
?-(-.q.i.q.p.p.lem %del '-', %ins '+', %mut ':')
|
||||
[%leaf (spud (weld pre p.i.q.p.p.lem))]
|
||||
==
|
||||
%= +>
|
||||
vag ?~(hez.yar vag :_(vag [u.hez.yar [%ergo who syd let.dom]]))
|
||||
yel
|
||||
=+ pre=`path`~[(scot %p for) syd (scot %ud let.dom)]
|
||||
?- -.lem
|
||||
| :_ yel
|
||||
[hen %note '=' %leaf :(weld (trip p.lem) " " (spud pre))]
|
||||
& |- ^+ yel
|
||||
?~ q.q.lem yel
|
||||
:_ $(q.q.lem t.q.q.lem)
|
||||
:- hen
|
||||
:+ %note
|
||||
?-(-.q.i.q.q.lem %del '-', %ins '+', %mut ':')
|
||||
[%leaf (spud (weld pre p.i.q.q.lem))]
|
||||
==
|
||||
::
|
||||
|
|
||||
|- ^+ +>.^$
|
||||
?~ s.p.lem +>.^$
|
||||
$(s.p.lem t.s.p.lem, +>.^$ ^$(lem i.s.p.lem))
|
||||
==
|
||||
::
|
||||
++ edit :: apply changes
|
||||
|= [wen=@da lem=nori]
|
||||
^+ +>
|
||||
+>(dom +<+:(~(axel ze lim dom) wen lem))
|
||||
::
|
||||
++ exec :: change and update
|
||||
|= [hen=duct wen=@da lem=maki]
|
||||
|= [hen=duct wen=@da lem=nori]
|
||||
^+ +>
|
||||
wake:(edit hen wen lem)
|
||||
(echo:wake:(edit wen lem) hen wen lem)
|
||||
::
|
||||
++ knit :: external change
|
||||
|= [inx=@ud rot=riot]
|
||||
^+ +>
|
||||
=+ ruv=(~(get by bom.u.ref) inx)
|
||||
?~ ruv +>.$
|
||||
=> ?. |(?=(~ rot) ?=(& -.q.u.ruv)) .
|
||||
%_ .
|
||||
bom.u.ref (~(del by bom.u.ref) inx)
|
||||
fod.u.ref (~(del by fod.u.ref) p.u.ruv)
|
||||
==
|
||||
?~ rot
|
||||
=+ rav=`rave`q.u.ruv
|
||||
%= +>.$
|
||||
lim
|
||||
?.(&(?=(| -.rav) ?=(%da -.q.p.rav)) lim `@da`p.q.p.rav)
|
||||
::
|
||||
haw.u.ref
|
||||
?. ?=(& -.rav) haw.u.ref
|
||||
(~(put by haw.u.ref) p.rav ~)
|
||||
==
|
||||
?< ?=(%v p.p.u.rot)
|
||||
=. haw.u.ref
|
||||
(~(put by haw.u.ref) [p.p.u.rot q.p.u.rot q.u.rot] ~ r.u.rot)
|
||||
?. ?=(%w p.p.u.rot) +>.$
|
||||
|- ^+ +>.^$
|
||||
=+ nez=[%w [%ud let.dom] ~]
|
||||
=+ nex=(~(get by haw.u.ref) nez)
|
||||
?~ nex +>.^$
|
||||
?~ u.nex +>.^$ :: should never happen
|
||||
%= $
|
||||
haw.u.ref (~(del by haw.u.ref) nez)
|
||||
+>.^$ (edit ((hard frog) u.u.nex))
|
||||
==
|
||||
::
|
||||
++ wake :: update subscribers
|
||||
^+ .
|
||||
=+ xiq=(~(tap by qyx) ~)
|
||||
=| xaq=(list ,[p=duct q=rave])
|
||||
|- ^+ ..wake
|
||||
?~ xiq ..wake(qyx (~(gas by *cult) xaq))
|
||||
?~ xiq
|
||||
:: ~& [%wake-out [who for] xaq]
|
||||
..wake(qyx (~(gas by *cult) xaq))
|
||||
?- -.q.i.xiq
|
||||
&
|
||||
=+ nao=(aeon q.p.q.i.xiq)
|
||||
=+ cas=?~(ref ~ (~(get by haw.u.ref) `mood`p.q.i.xiq))
|
||||
?^ cas
|
||||
%= $
|
||||
xiq t.xiq
|
||||
..wake ?~ u.cas (blob p.i.xiq)
|
||||
(blab p.i.xiq p.q.i.xiq u.u.cas)
|
||||
==
|
||||
=+ nao=(~(aeon ze lim dom) q.p.q.i.xiq)
|
||||
?~ nao $(xiq t.xiq, xaq [i.xiq xaq])
|
||||
$(xiq t.xiq, ..wake (balk p.i.xiq u.nao p.q.i.xiq))
|
||||
::
|
||||
|
|
||||
=+ mot=`moat`p.q.i.xiq
|
||||
=+ nab=(aeon p.mot)
|
||||
=+ nab=(~(aeon ze lim dom) p.mot)
|
||||
?: |(?=(~ nab) =(let.dom u.nab))
|
||||
$(xiq t.xiq, xaq [i.xiq xaq])
|
||||
?> (gte let.dom u.nab)
|
||||
?> ?=(^ hit.dom)
|
||||
=+ huy=(aeon q.mot)
|
||||
=+ huy=(~(aeon ze lim dom) q.mot)
|
||||
?~ huy
|
||||
=+ ptr=[%da p.i.hit.dom]
|
||||
=+ fud=(flop (scag (sub let.dom u.nab) `(list frog)`hit.dom))
|
||||
@ -302,167 +288,23 @@
|
||||
..wake (blob:(bleb p.i.xiq +(u.nab) fud))
|
||||
==
|
||||
==
|
||||
::
|
||||
++ zoot
|
||||
%_(..de dos.yar (~(put by dos.yar) syd qyx dom))
|
||||
--
|
||||
::
|
||||
++ di
|
||||
|= syd=@ta
|
||||
=+ ^= saq ^- desk
|
||||
=+ saq=(~(get by dos.yar) syd)
|
||||
?~(saq [~ [~ [@uvH ~ ~] 0 ~ ~]] u.saq)
|
||||
~(. de who syd now p.saq q.saq)
|
||||
?~(saq *desk u.saq)
|
||||
~(. de who syd now p.saq ~ q.saq)
|
||||
::
|
||||
++ fa
|
||||
|= him=ship
|
||||
=+ ^= raz
|
||||
=+ raz=(~(get by rid.yar) him)
|
||||
?~(raz [p=*rind q=*rink] u.raz)
|
||||
|%
|
||||
++ mete :: foreign request
|
||||
|= [hen=duct ryf=riff]
|
||||
^+ +>
|
||||
=+ nux=(~(get by fod.p.raz) hen)
|
||||
?^ nux
|
||||
?> ?=(~ q.ryf)
|
||||
%= +>.$
|
||||
say [[[[%c (scot %ud u.nux) ~] hen] him [u.nux ryf]] say]
|
||||
fod.p.raz (~(del by fod.p.raz) hen)
|
||||
bim.p.raz (~(del by bim.p.raz) u.nux)
|
||||
==
|
||||
?~ q.ryf +>.$
|
||||
=+ inx=nix.p.raz
|
||||
%= +>.$
|
||||
say [[[[%c (scot %ud inx) ~] hen] him [inx ryf]] say]
|
||||
nix.p.raz +(nix.p.raz)
|
||||
bim.p.raz (~(put by bim.p.raz) inx [hen ryf])
|
||||
fod.p.raz (~(put by fod.p.raz) hen inx)
|
||||
==
|
||||
::
|
||||
++ mote :: send/cancel request
|
||||
|= [hen=duct ryf=riff]
|
||||
^+ +>
|
||||
(mete hen ryf)
|
||||
:: =+ rym=(~(get by mir.q.raz) p.ryf)
|
||||
:: ?~ rym (mete hen ryf)
|
||||
:: =+ wex=~(. de [who p.ryf lim.u.rym qyx.u.rym dom.u.rym])
|
||||
:: =+ wak=?~(q.ryf (ease:wex hen) (eave:wex hen u.q.ryf))
|
||||
:: =: byn byn.wak
|
||||
:: qyx.u.rym qyx.wak
|
||||
:: dom.u.rym dom.wak
|
||||
:: ==
|
||||
:: +>.$(mir.q.raz (~(put by mir.q.raz) p.ryf u.rym))
|
||||
::
|
||||
++ poll :: pull result
|
||||
|= [hen=duct syd=disc rot=riot]
|
||||
^+ +>
|
||||
=+ rum=(need (~(get by mir.q.raz) syd))
|
||||
=+ kas=(need ask.rum)
|
||||
=< abet
|
||||
=< able
|
||||
|%
|
||||
++ abet
|
||||
^+ +>.$
|
||||
+>.$(mir.q.raz (~(put by mir.q.raz) syd rum))
|
||||
::
|
||||
++ able
|
||||
^+ .
|
||||
?~ rot
|
||||
%- pith(ask.rum ~, lim.rum kas)
|
||||
~(. de [him syd kas qyx.rum dom.rum])
|
||||
?> ?=(%w p.p.u.rot)
|
||||
?> =(syd r.p.u.rot)
|
||||
?> =(~ q.u.rot)
|
||||
?> ?=(%ud -.q.p.u.rot)
|
||||
?> =(let.dom.rum p.q.p.u.rot)
|
||||
=+ rog=((hard frog) r.u.rot)
|
||||
=+ sab=`saba`[him syd [p.q.p.u.rot +(p.q.p.u.rot)] [q.rog ~]]
|
||||
=. ..fa (fray hen pal.rum sab)
|
||||
(pith (~(exec de [him syd lim.rum qyx.rum dom.rum]) hen rog))
|
||||
::
|
||||
++ pith
|
||||
|= wex=_de
|
||||
^+ +>
|
||||
=+ wak=wake:wex
|
||||
%_ +>.$
|
||||
byn byn.wak
|
||||
yel yel.wak
|
||||
qyx.rum qyx.wak
|
||||
dom.rum dom.wak
|
||||
==
|
||||
--
|
||||
::
|
||||
++ puke :: pull failed
|
||||
|= [hen=duct syd=disc msg=tape]
|
||||
^+ +>
|
||||
%_ +>
|
||||
mir.q.raz (~(del by mir.q.raz) syd)
|
||||
yel [[hen [%note '?' %leaf msg]] yel]
|
||||
==
|
||||
::
|
||||
++ pull :: pull changeset
|
||||
|= [hen=duct syd=disc pal=(list disc)]
|
||||
^+ +>
|
||||
=+ ^= rum ^- rede
|
||||
=+ rum=(~(get by mir.q.raz) syd)
|
||||
?^ rum u.rum [~2000.1.1 ~ pal ~ [~ [@uvH ~ ~] 0 ~ ~]]
|
||||
?> ?=(~ ask.rum)
|
||||
=> .(ask.rum [~ now])
|
||||
=. +>.$
|
||||
%+ mete
|
||||
[[%c %pull (scot %p him) syd ~] hen]
|
||||
[syd ~ %| [%da lim.rum] [%da now]]
|
||||
+>.$(mir.q.raz (~(put by mir.q.raz) syd rum))
|
||||
::
|
||||
++ tome :: accept response
|
||||
|= [inx=@ud rot=riot]
|
||||
^+ +>
|
||||
:: ~& [%tome inx ?~(rot ~ [p.u.rot q.u.rot])]
|
||||
=+ mub=(~(get by bim.p.raz) inx)
|
||||
?~ mub +>.$
|
||||
=+ die=?~(rot & &(?=(^ q.q.u.mub) ?=(& -.u.q.q.u.mub)))
|
||||
%= +>.$
|
||||
byn [[p.u.mub rot] byn]
|
||||
bim.p.raz ?.(die bim.p.raz (~(del by bim.p.raz) inx))
|
||||
fod.p.raz ?.(die fod.p.raz (~(del by fod.p.raz) p.u.mub))
|
||||
hac.q.raz ?~ rot
|
||||
hac.q.raz
|
||||
%+ ~(put by hac.q.raz)
|
||||
[p.p.u.rot q.p.u.rot r.p.u.rot q.u.rot]
|
||||
r.u.rot
|
||||
==
|
||||
::
|
||||
++ tref :: request rejected
|
||||
|= [hen=duct tea=wire]
|
||||
^+ +>
|
||||
~& [%tref tea]
|
||||
?. ?=([@ *] tea) +>
|
||||
=+ xoc=(slay i.tea)
|
||||
?: ?=([~ %$ %p @] xoc)
|
||||
?> ?=([@ ~] t.tea)
|
||||
(puke hen i.t.tea "system failure")
|
||||
?. ?=([~ %$ %ud @] xoc) +>.$
|
||||
=+ mub=(~(get by bim.p.raz) q.p.u.xoc)
|
||||
?~ mub +>.$
|
||||
%= +>.$
|
||||
byn [[p.u.mub ~] byn]
|
||||
fod.p.raz (~(del by fod.p.raz) q.p.u.xoc)
|
||||
==
|
||||
::
|
||||
++ vera :: search
|
||||
|= [syd=@tas ren=care lok=case way=path]
|
||||
^- (unit)
|
||||
=+ haz=(~(get by hac.q.raz) ren lok syd way)
|
||||
?^ haz haz
|
||||
=+ rym=(~(get by mir.q.raz) syd)
|
||||
?~ rym ~
|
||||
=+ vyr=(~(aver de [him syd lim.u.rym qyx.u.rym dom.u.rym]) ren lok way)
|
||||
?~(vyr ~ u.vyr)
|
||||
::
|
||||
++ zoom
|
||||
%_(+>.$ rid.yar (~(put by rid.yar) him raz))
|
||||
--
|
||||
++ do
|
||||
|= [him=ship syd=@tas]
|
||||
=+ ^= red ^- rede
|
||||
=+ roy=(~(get by rid.yar) him)
|
||||
=+ yit=?~(roy ~ (~(get by u.roy) syd))
|
||||
?^(yit u.yit `rede`[~2000.1.1 ~ [~ *rind] *dome])
|
||||
:: ~& [%do-qyx him syd qyx.red]
|
||||
~(. de him syd red)
|
||||
--
|
||||
--
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
@ -483,6 +325,7 @@
|
||||
[[[wru [/d hen] %flog fav] ~] ..^$]
|
||||
::
|
||||
%deem
|
||||
~& [%beat-deem wru hen]
|
||||
=. wru
|
||||
?^ wru wru
|
||||
?. =(%gold (adit hen)) ~
|
||||
@ -491,9 +334,9 @@
|
||||
::
|
||||
%init
|
||||
:: [[%tell %0 %leaf "clay: home for {~(rend co ~ %p q.u.wru)}"] ~]
|
||||
[~ ..^$(fat.ruf (~(put by fat.ruf) q.u.wru [hen ~ ~ ~ ~]))]
|
||||
[~ ..^$(fat.ruf (~(put by fat.ruf) q.u.wru [hen ~ ~ ~]))]
|
||||
::
|
||||
?(%into %info)
|
||||
?(%info %into)
|
||||
=. wru
|
||||
?^ wru wru
|
||||
?. =(%gold (adit hen)) ~
|
||||
@ -505,15 +348,20 @@
|
||||
[~ ..^$(fat.ruf (~(put by fat.ruf) p.fav yar(hez [~ hen])))]
|
||||
=^ mos ruf
|
||||
=+ ^= zot
|
||||
zoot:(exec:(di:wake:(un q.u.wru now ruf) q.fav) hen now [%& r.fav])
|
||||
abet:(exec:(di:wake:(un q.u.wru now ruf) q.fav) hen now r.fav)
|
||||
abet:zot(hez.yar ?.(=(%into -.fav) hez.yar.zot [~ hen]))
|
||||
[mos ..^$]
|
||||
::
|
||||
%pull
|
||||
?> ?=(^ wru)
|
||||
?> !=(q.u.wru q.fav)
|
||||
%waft
|
||||
?> ?=([@ @ ~] tea)
|
||||
=+ syd=(need (slaw %tas i.tea))
|
||||
=+ inx=(need (slaw %ud i.t.tea))
|
||||
=^ mos ruf
|
||||
abet:zoom:(pull:(fa:(un q.u.wru now ruf) p.fav) hen q.fav r.fav)
|
||||
=< abet
|
||||
=< abet
|
||||
=< wake
|
||||
%. [inx ((hard riot) q.fav)]
|
||||
knit:(do:(un q.u.wru now ruf) p.fav syd)
|
||||
[mos ..^$]
|
||||
::
|
||||
%warp
|
||||
@ -521,34 +369,36 @@
|
||||
=^ mos ruf
|
||||
=< abet
|
||||
=+ une=(un q.u.wru now ruf)
|
||||
:: ~& [%warp q.u.wru p.fav]
|
||||
?. =(q.u.wru p.fav)
|
||||
zoom:(mote:(fa:une p.fav) hen q.fav)
|
||||
=+ wex=(di:une p.q.fav)
|
||||
:: ~& [%clay-warp q.u.wru fav]
|
||||
=+ wex=?.(=(q.u.wru p.fav) (do:une p.fav p.q.fav) (di:une p.q.fav))
|
||||
?~ q.q.fav
|
||||
zoot:(ease:wex hen)
|
||||
zoot:(eave:wex hen u.q.q.fav)
|
||||
abet:(ease:wex hen)
|
||||
abet:(eave:wex hen u.q.q.fav)
|
||||
[mos ..^$]
|
||||
::
|
||||
%wart
|
||||
?> ?=(%ru q.fav)
|
||||
?~ s.fav [~ ..^$]
|
||||
=^ mos ruf
|
||||
=< abet
|
||||
=< zoom
|
||||
(tome:(fa:(un q.u.wru now ruf) p.fav) ((hard ,[@ud riot]) u.s.fav))
|
||||
[mos ..^$]
|
||||
?> ?=(^ wru)
|
||||
?> ?=(%re q.fav)
|
||||
=+ ryf=((hard riff) s.fav)
|
||||
:_ ..^$
|
||||
:~ :+ [~ %iron q.u.wru]
|
||||
[/c [%c (scot %p p.fav) r.fav] hen]
|
||||
`card`[%warp q.u.wru ryf]
|
||||
==
|
||||
::
|
||||
%went
|
||||
?: =(%good q.fav) [~ ..^$]
|
||||
%writ
|
||||
?> ?=([@ *] tea)
|
||||
=+ une=(un q.u.wru now ruf)
|
||||
=^ mos ruf
|
||||
?+ i.tea ~&([%went-wrong tea] !!)
|
||||
%pull
|
||||
abet:zoom:(tref:(fa:une p.fav) hen t.tea)
|
||||
==
|
||||
[mos ..^$]
|
||||
=+ him=(need (slaw %p i.tea))
|
||||
:_ ..^$
|
||||
:~ :+ wru
|
||||
[/a [%c ~] hen]
|
||||
`card`[%want him [%r %re %c t.tea] p.fav]
|
||||
==
|
||||
::
|
||||
%went :: XX should actually propagate
|
||||
?: =(%good q.fav) [~ ..^$]
|
||||
~& [%clay-lost tea]
|
||||
[~ ..^$]
|
||||
::
|
||||
%wake
|
||||
=+ dal=(turn (~(tap by fat.ruf) ~) |=([a=@p b=room] a))
|
||||
@ -557,36 +407,6 @@
|
||||
?~ dal [mos ..^^$(las.ruf now)]
|
||||
=^ som ruf abet:wake:(un i.dal now ruf)
|
||||
$(dal t.dal, mos (weld som mos))
|
||||
::
|
||||
%wort
|
||||
?> ?=([@ *] tea)
|
||||
=+ une=(un q.u.wru now ruf)
|
||||
=^ mos ruf
|
||||
?+ i.tea !!
|
||||
%pull
|
||||
?> ?=([@ @ ~] t.tea)
|
||||
=+ xoc=(slay i.t.tea)
|
||||
?> ?=([~ %$ %p @] xoc)
|
||||
=< abet
|
||||
=< zoom
|
||||
(puke:(fa:(un q.u.wru now ruf) q.p.u.xoc) hen i.t.t.tea p.fav)
|
||||
==
|
||||
[mos ..^$]
|
||||
::
|
||||
%writ
|
||||
?> ?=([@ *] tea)
|
||||
=+ une=(un q.u.wru now ruf)
|
||||
=^ mos ruf
|
||||
?+ i.tea ~&([%writ-bad tea] !!)
|
||||
%pull
|
||||
?> ?=([@ @ ~] t.tea)
|
||||
=+ xoc=(slay i.t.tea)
|
||||
?> ?=([~ %$ %p @] xoc)
|
||||
=< abet
|
||||
=< zoom
|
||||
(poll:(fa:(un q.u.wru now ruf) q.p.u.xoc) hen i.t.t.tea p.fav)
|
||||
==
|
||||
[mos ..^$]
|
||||
==
|
||||
::
|
||||
++ come
|
||||
@ -622,9 +442,12 @@
|
||||
=+ run=((soft care) ron)
|
||||
?~ luk ~
|
||||
?~ run ~
|
||||
?. =(our his)
|
||||
(vera:(fa:(un our now ruf) his) syd u.run u.luk tyl)
|
||||
=+ vyr=(aver:(di:(un our now ruf) syd) u.run u.luk tyl)
|
||||
=+ ^= vyr
|
||||
=+ une=(un our now ruf)
|
||||
%. [u.run u.luk tyl]
|
||||
=+ dud=?.(=(our his) (do:une his syd) (di:une syd))
|
||||
:: ~& [%scry-at [our his] now lim.dud]
|
||||
aver:dud
|
||||
?~(vyr ~ u.vyr)
|
||||
::
|
||||
++ stay `vase`!>(ruf)
|
||||
|
@ -1,4 +1,4 @@
|
||||
::
|
||||
!:
|
||||
:: dill (4d), terminal handling
|
||||
::
|
||||
|= pit=vase
|
||||
|
@ -1,4 +1,4 @@
|
||||
::
|
||||
!:
|
||||
:: eyre (4e), http servant
|
||||
::
|
||||
|= pit=vase
|
||||
|
@ -1,5 +1,5 @@
|
||||
::
|
||||
:: Hoon/Arvo stage 191 (reflexive).
|
||||
:: Hoon/Arvo stage 191 (reflexive).
|
||||
:: This file is in the public domain.
|
||||
::
|
||||
:: A noun is an atom or a cell. An atom is any natural number
|
||||
@ -125,7 +125,7 @@
|
||||
:: below. No secrets live forever, though, and the kernel
|
||||
:: author retains no dominion whatsoever over Arvo users.
|
||||
:: All keys and algorithms can be updated without disruption.
|
||||
:: [NB: the roots are now in urb/les/arvo/ames.hoon.]
|
||||
:: [NB: the roots are now in urb/zod/arvo/ames.hoon.]
|
||||
::
|
||||
:: Arvo does not process packets only, but also local events
|
||||
:: (++card) from the host OS. Modules handling these events
|
||||
@ -297,6 +297,7 @@
|
||||
[%sgls p=@ q=gene] ::
|
||||
[%sgpm p=@ud q=gene r=gene] ::
|
||||
[%sgts p=gene q=gene] ::
|
||||
[%sgwt p=@ud q=gene r=gene s=gene] ::
|
||||
[%sgzp p=gene q=gene] ::
|
||||
:: ::
|
||||
[%smcb p=gene q=gene] ::
|
||||
@ -425,19 +426,19 @@
|
||||
[1 p=(list)] ::
|
||||
[2 p=(list ,[@ta *])] ::
|
||||
== ::
|
||||
++ tool $& [p=tool q=tool] ::
|
||||
++ nock $& [p=nock q=nock] ::
|
||||
$% [0 p=@] ::
|
||||
[1 p=*] ::
|
||||
[2 p=tool q=tool] ::
|
||||
[3 p=tool] ::
|
||||
[4 p=tool] ::
|
||||
[5 p=tool q=tool] ::
|
||||
[6 p=tool q=tool r=tool] ::
|
||||
[7 p=tool q=tool] ::
|
||||
[8 p=tool q=tool] ::
|
||||
[9 p=@ q=tool] ::
|
||||
[10 p=?(@ [p=@ q=tool]) q=tool] ::
|
||||
[11 p=tool] ::
|
||||
[2 p=nock q=nock] ::
|
||||
[3 p=nock] ::
|
||||
[4 p=nock] ::
|
||||
[5 p=nock q=nock] ::
|
||||
[6 p=nock q=nock r=nock] ::
|
||||
[7 p=nock q=nock] ::
|
||||
[8 p=nock q=nock] ::
|
||||
[9 p=@ q=nock] ::
|
||||
[10 p=?(@ [p=@ q=nock]) q=nock] ::
|
||||
[11 p=nock] ::
|
||||
== ::
|
||||
++ toon $% [0 p=*] ::
|
||||
[1 p=(list)] ::
|
||||
@ -478,6 +479,8 @@
|
||||
== ::
|
||||
$% [%d p=@ud] :: blocklist
|
||||
== ::
|
||||
++ unce |* a=_,* :: change part
|
||||
$%([& p=@ud] [| p=(list a) q=(list a)]) ::
|
||||
++ unit |* a=_,* :: maybe
|
||||
$|(~ [~ u=a]) ::
|
||||
++ upas :: tree change (%d)
|
||||
@ -486,9 +489,7 @@
|
||||
[1 p=*] :: insert new
|
||||
[2 p=axis q=udon] :: mutate!
|
||||
== ::
|
||||
++ urge |* a=_,* :: list change
|
||||
%- list ::
|
||||
,$%([& p=@ud] [| p=(list a) q=(list a)]) ::
|
||||
++ urge |*(a=_,* (list (unce a))) :: list change
|
||||
++ vase ,[p=type q=*] :: type-value pair
|
||||
++ vise ,[p=tope q=*] :: old vase
|
||||
++ wall (list tape) :: text lines
|
||||
@ -505,6 +506,7 @@
|
||||
[%tree p=term q=wine] ::
|
||||
[%unit p=term q=wine] ::
|
||||
== ::
|
||||
++ woof (list $|(@ud [p=@ud q=@ud])) :: udon transform
|
||||
++ wonk |*(veq=edge ?@(q.veq !! p.u.q.veq)) ::
|
||||
:: ::
|
||||
++ map |* [a=_,* b=_,*] :: associative array
|
||||
@ -3873,7 +3875,7 @@
|
||||
[%fork hoz bur]
|
||||
::
|
||||
++ cove
|
||||
|= nug=tool
|
||||
|= nug=nock
|
||||
?- nug
|
||||
[0 *] p.nug
|
||||
[10 *] $(nug q.nug)
|
||||
@ -3881,8 +3883,8 @@
|
||||
==
|
||||
++ comb
|
||||
~/ %comb
|
||||
|= [mal=tool buz=tool]
|
||||
^- tool
|
||||
|= [mal=nock buz=nock]
|
||||
^- nock
|
||||
?: ?&(?=([0 *] mal) !=(0 p.mal))
|
||||
?: ?&(?=([0 *] buz) !=(0 p.buz))
|
||||
[%0 (peg p.mal p.buz)]
|
||||
@ -3897,8 +3899,8 @@
|
||||
::
|
||||
++ cond
|
||||
~/ %cond
|
||||
|= [pex=tool yom=tool woq=tool]
|
||||
^- tool
|
||||
|= [pex=nock yom=nock woq=nock]
|
||||
^- nock
|
||||
?- pex
|
||||
[1 0] yom
|
||||
[1 1] woq
|
||||
@ -3907,8 +3909,8 @@
|
||||
::
|
||||
++ cons
|
||||
~/ %cons
|
||||
|= [vur=tool sed=tool]
|
||||
^- tool
|
||||
|= [vur=nock sed=nock]
|
||||
^- nock
|
||||
?: ?=([[0 *] [0 *]] +<)
|
||||
?: ?&(=(+(p.vur) p.sed) =((div p.vur 2) (div p.sed 2)))
|
||||
[%0 (div p.vur 2)]
|
||||
@ -3944,8 +3946,8 @@
|
||||
::
|
||||
++ flan
|
||||
~/ %flan
|
||||
|= [bos=tool nif=tool]
|
||||
^- tool
|
||||
|= [bos=nock nif=nock]
|
||||
^- nock
|
||||
?- bos
|
||||
[1 1] bos
|
||||
[1 0] nif
|
||||
@ -3959,13 +3961,13 @@
|
||||
::
|
||||
++ flip
|
||||
~/ %flip
|
||||
|= [dyr=tool]
|
||||
|= [dyr=nock]
|
||||
[%6 dyr [%1 1] [%1 0]]
|
||||
::
|
||||
++ flor
|
||||
~/ %flor
|
||||
|= [bos=tool nif=tool]
|
||||
^- tool
|
||||
|= [bos=nock nif=nock]
|
||||
^- nock
|
||||
?- bos
|
||||
[1 1] nif
|
||||
[1 0] bos
|
||||
@ -3979,22 +3981,22 @@
|
||||
::
|
||||
++ hike
|
||||
~/ %hike
|
||||
|= [axe=axis pac=(list ,[p=axis q=tool])]
|
||||
^- tool
|
||||
|= [axe=axis pac=(list ,[p=axis q=nock])]
|
||||
^- nock
|
||||
?~ pac
|
||||
[%0 axe]
|
||||
=+ zet=(skim pac.$ |=([p=axis q=tool] [=(1 p)]))
|
||||
=+ zet=(skim pac.$ |=([p=axis q=nock] [=(1 p)]))
|
||||
?~ zet
|
||||
=+ tum=(skim pac.$ |=([p=axis q=tool] ?&(!=(1 p) =(2 (cap p)))))
|
||||
=+ gam=(skim pac.$ |=([p=axis q=tool] ?&(!=(1 p) =(3 (cap p)))))
|
||||
=+ tum=(skim pac.$ |=([p=axis q=nock] ?&(!=(1 p) =(2 (cap p)))))
|
||||
=+ gam=(skim pac.$ |=([p=axis q=nock] ?&(!=(1 p) =(3 (cap p)))))
|
||||
%+ cons
|
||||
%= $
|
||||
axe (peg axe 2)
|
||||
pac (turn tum |=([p=axis q=tool] [(mas p) q]))
|
||||
pac (turn tum |=([p=axis q=nock] [(mas p) q]))
|
||||
==
|
||||
%= $
|
||||
axe (peg axe 3)
|
||||
pac (turn gam |=([p=axis q=tool] [(mas p) q]))
|
||||
pac (turn gam |=([p=axis q=nock] [(mas p) q]))
|
||||
==
|
||||
?>(?=([* ~] zet) q.i.zet)
|
||||
::
|
||||
@ -4499,6 +4501,7 @@
|
||||
r.gen
|
||||
::
|
||||
[%sgts *] [%sggr [%germ p.gen] q.gen]
|
||||
[%sgwt *] [%tsgl s.gen %wtdt q.gen [~ 1] %sgpm p.gen r.gen [~ 1]]
|
||||
[%sgzp *] [%sggr [%mean [%brdt p.gen]] q.gen]
|
||||
[%smcl *]
|
||||
?- q.gen
|
||||
@ -5568,7 +5571,7 @@
|
||||
|= axe=axis
|
||||
=+ vot=*(set type)
|
||||
|-
|
||||
^- tool
|
||||
^- nock
|
||||
?- sut
|
||||
[%atom *] (flip [%3 %0 axe])
|
||||
%void [%1 1]
|
||||
@ -5672,7 +5675,7 @@
|
||||
++ hail
|
||||
|= [dab=(map term foot) waf=(map term foot)]
|
||||
=+ axe=1
|
||||
=+ dif=*(list ,[p=axis q=tool])
|
||||
=+ dif=*(list ,[p=axis q=nock])
|
||||
|- ^+ dif
|
||||
?~ dab
|
||||
?>(?=(~ waf) dif)
|
||||
@ -5789,8 +5792,8 @@
|
||||
++ mint
|
||||
~/ %mint
|
||||
|= [gol=type gen=gene]
|
||||
^- [p=type q=tool]
|
||||
|^ ^- [p=type q=tool]
|
||||
^- [p=type q=nock]
|
||||
|^ ^- [p=type q=nock]
|
||||
?: ?&(=(%void sut) !?=([%zpcb *] gen))
|
||||
?. |(!vet ?=([%zpfs *] gen) ?=([%zpzp *] gen))
|
||||
~|(%mint-vain !!)
|
||||
@ -5824,8 +5827,8 @@
|
||||
=+ mew=(swab q.gen)
|
||||
=- [(nice p.yom) ?:(=(0 p.q.lar) q.yom [%9 p.q.lar q.yom])]
|
||||
^= yom
|
||||
=+ hej=*(list ,[p=axis q=tool])
|
||||
|- ^- [p=type q=tool]
|
||||
=+ hej=*(list ,[p=axis q=nock])
|
||||
|- ^- [p=type q=nock]
|
||||
?@ mew
|
||||
[(fire q.q.lar) (hike p.lar hej)]
|
||||
=+ zil=^$(gen q.i.mew, gol %noun)
|
||||
@ -5922,7 +5925,7 @@
|
||||
::
|
||||
++ grow
|
||||
|= [mel=?(%gold %iron %lead %zinc) ruf=gene dab=(map term foot)]
|
||||
^- [p=type q=tool]
|
||||
^- [p=type q=nock]
|
||||
=+ dan=^$(gen ruf, gol %noun)
|
||||
=+ toc=(core p.dan [%gold p.dan [~ dab]])
|
||||
=+ dez=(harp(sut toc) dab)
|
||||
@ -7096,6 +7099,11 @@
|
||||
;~(gunk (cook lent (stun [1 3] gar)) loaf loaf)
|
||||
(stag 0 ;~(gunk loaf loaf))
|
||||
==
|
||||
++ hing |.
|
||||
;~ pose
|
||||
;~(gunk (cook lent (stun [1 3] gar)) loaf loaf loaf)
|
||||
(stag 0 ;~(gunk loaf loaf loaf))
|
||||
==
|
||||
++ bonk
|
||||
;~ pfix cen
|
||||
;~ pose
|
||||
|
362
arvo/zuse.hoon
362
arvo/zuse.hoon
@ -451,12 +451,13 @@
|
||||
[[p.ank p.bus] (flop myz:(dist:(zu ank) %c bus))]
|
||||
::
|
||||
++ ze !:
|
||||
|_ dome
|
||||
|_ [lim=@da dome]
|
||||
++ aeon :: aeon:ze
|
||||
|= lok=case :: change count thru
|
||||
|= lok=case :: act count through
|
||||
^- (unit ,@ud)
|
||||
?- -.lok
|
||||
%da
|
||||
?: (gth p.lok lim) ~
|
||||
|- ^- (unit ,@ud)
|
||||
?~ hit [~ let]
|
||||
?: (gte p.lok p.i.hit) [~ let]
|
||||
@ -474,91 +475,226 @@
|
||||
?~ r.ank ~
|
||||
[[p.n.r.ank ~] $(r.ank l.r.ank) $(r.ank r.r.ank)]
|
||||
::
|
||||
++ acai :: acai:ze
|
||||
|= mus=masu :: inverse trout
|
||||
[p.mus q.mus [q.r.mus p.r.mus] [q.s.mus p.s.mus]]
|
||||
::
|
||||
++ acid :: acid:ze
|
||||
|= oan=@ud :: invert to
|
||||
^- (list maki)
|
||||
^- (list tako)
|
||||
=+ mar=(scag (sub let oan) hit)
|
||||
(adze (turn mar |=([a=@da b=maki] b)))
|
||||
(alar (adze (turn mar |=([a=@da b=nori] b))))
|
||||
::
|
||||
++ adze :: adze:ze
|
||||
|= may=(list maki) :: reverse maki
|
||||
|= may=(list nori) :: reverse nori
|
||||
%- flop
|
||||
|- ^- (list maki)
|
||||
|- ^- (list nori)
|
||||
?~ may ~
|
||||
=+ yam=$(may t.may)
|
||||
?- -.i.may
|
||||
& ?-(-.p.i.may | yam, & [[%& %& (curl p.p.i.may)] yam])
|
||||
| [i.may(s.p $(may s.p.i.may)) yam]
|
||||
& [[%& (bind p.i.may acai) (curl q.i.may)] yam]
|
||||
| yam
|
||||
==
|
||||
::
|
||||
++ aint :: aint:ze
|
||||
|= may=(list maki) :: strip maki
|
||||
^- (list maki)
|
||||
++ alar :: alar:ze
|
||||
|= may=(list nori) :: nori to tako
|
||||
^- (list tako)
|
||||
?~ may ~
|
||||
=+ yam=$(may t.may)
|
||||
?- -.i.may
|
||||
& ?-(-.p.i.may | [i.may yam], & yam)
|
||||
| [i.may(s.p $(may s.p.i.may)) yam]
|
||||
& (weld q.q.i.may $(may t.may))
|
||||
| $(may t.may)
|
||||
==
|
||||
::
|
||||
++ alba :: alba:ze
|
||||
|= hoe=(list tako) :: deconstruct
|
||||
|- ^- (map path (list udon))
|
||||
?~ hoe ~
|
||||
=+ hom=$(hoe t.hoe)
|
||||
%+ ~(put by hom) p.i.hoe
|
||||
=+ vue=(~(get by hom) p.i.hoe)
|
||||
[?>(?=(%mut -.q.i.hoe) p.q.i.hoe) ?~(vue ~ u.vue)]
|
||||
::
|
||||
++ aloe :: aloe:ze
|
||||
|= yop=(map path (list udon)) :: reconstruct
|
||||
^- (list tako)
|
||||
=+ puy=(~(tap by yop) ~)
|
||||
|- ^- (list tako)
|
||||
?~ puy ~
|
||||
(weld (turn q.i.puy |=(a=udon [p.i.puy %mut a])) $(puy t.puy))
|
||||
::
|
||||
++ alto :: alto:ze
|
||||
|= $: yop=(map path (list udon)) :: yop before peq
|
||||
peq=(map path (list udon))
|
||||
==
|
||||
=+ puy=(~(tap by yop) ~)
|
||||
|- ^+ peq
|
||||
?~ puy peq
|
||||
%= $
|
||||
puy t.puy
|
||||
peq
|
||||
=+ peb=(~(get by peq) p.i.puy)
|
||||
?~ peb peq
|
||||
(~(put by peq) p.i.puy (lyre q.i.puy u.peb))
|
||||
==
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
::
|
||||
++ woof (list $|(@ud [p=@ud q=@ud])) :: udon transform
|
||||
++ lisp :: transform urge
|
||||
|* wig=(urge)
|
||||
|= dog=woof
|
||||
^- [p=woof q=_wig]
|
||||
?~ wig [~ ~]
|
||||
?: =([%& 0] i.wig) $(wig t.wig)
|
||||
?~ dog
|
||||
?- -.i.wig
|
||||
& $(dog [p.i.wig ~])
|
||||
| $(dog [(lent p.i.wig) ~])
|
||||
==
|
||||
?@ i.dog
|
||||
?: =(0 i.dog) $(dog t.dog)
|
||||
?- -.i.wig
|
||||
&
|
||||
?: (lth i.dog p.i.wig)
|
||||
=+ mol=$(dog t.dog, p.i.wig (sub p.i.wig i.dog))
|
||||
[[i.dog p.mol] [[%& i.dog] q.mol]]
|
||||
=+ mol=$(i.dog (sub i.dog p.i.wig), wig t.wig)
|
||||
[[p.i.wig p.mol] [[%& p.i.wig] q.mol]]
|
||||
::
|
||||
|
|
||||
=+ leg=(lent p.i.wig)
|
||||
?> (gte i.dog leg)
|
||||
=+ mol=$(i.dog (sub i.dog leg), wig t.wig)
|
||||
:- `woof`[`[@ @]`[leg (lent q.i.wig)] `woof`p.mol]
|
||||
`_wig`[i.wig q.mol]
|
||||
==
|
||||
?> ?=(& -.i.wig)
|
||||
?> (gte p.i.wig -.i.dog)
|
||||
=+ mol=$(dog t.dog, p.i.wig (sub p.i.wig -.i.dog))
|
||||
[[i.dog p.mol] [[%& +.i.dog] q.mol]]
|
||||
::
|
||||
++ lith :: initial transform
|
||||
|= wig=(urge)
|
||||
^- woof
|
||||
=+ wug=((lisp wig) *woof)
|
||||
?>(=(wig q.wug) p.wug)
|
||||
::
|
||||
++ lobe :: udonous urge
|
||||
|= [ump=umph heb=(list (urge))]
|
||||
^- (list udon)
|
||||
(turn heb |=(a=(urge) `udon`[ump %c a]))
|
||||
::
|
||||
++ lobo :: urgey udon
|
||||
|= [ump=umph yeb=(list udon)]
|
||||
^- (list (urge))
|
||||
(turn yeb |=(a=udon ?>(&(=(ump p.a) ?=(%c -.q.a)) p.q.a)))
|
||||
::
|
||||
++ loch :: put wof before weq
|
||||
|= [wof=woof weq=(list (urge))]
|
||||
^- (list (urge))
|
||||
|- ^+ weq
|
||||
?~ weq ~
|
||||
=+ wug=((lisp i.weq) wof)
|
||||
[q.wug $(weq t.weq, wof p.wug)]
|
||||
::
|
||||
++ loup :: put heb before weq
|
||||
|= [heb=(list (urge)) weq=(list (urge))]
|
||||
^- (list (urge))
|
||||
?~ heb weq
|
||||
?~ weq heb
|
||||
?: =(i.heb i.weq) $(heb t.heb, weq t.weq)
|
||||
$(heb t.heb, weq (loch (lith i.heb) weq))
|
||||
::
|
||||
++ lyre :: put yeb before zeq
|
||||
|= [yeb=(list udon) zeq=(list udon)]
|
||||
^- (list udon)
|
||||
?~ yeb zeq
|
||||
?~ zeq yeb
|
||||
?: =(i.yeb i.zeq) $(yeb t.yeb, zeq t.zeq)
|
||||
=+ ump=p.i.yeb
|
||||
(lobe ump (loup (lobo ump yeb) (lobo ump zeq)))
|
||||
::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
++ amor :: amor:ze
|
||||
|= ren=?(%v %x %y %z) :: endpoint query
|
||||
^- (unit ,*)
|
||||
?- ren
|
||||
%v [~ `dome`+<.amor]
|
||||
%v [~ `dome`+<+.amor]
|
||||
%x ?~(q.ank ~ [~ q.u.q.ank])
|
||||
%y [~ ache]
|
||||
%z [~ ank] :: should bee
|
||||
%z [~ ank]
|
||||
==
|
||||
::
|
||||
++ ante :: ante:ze
|
||||
|= lem=maki :: rewind by change
|
||||
|= lem=nori :: rewind by change
|
||||
^+ +>
|
||||
?- -.lem
|
||||
&
|
||||
%_ +>
|
||||
ank ?. ?=(& -.p.lem) ank
|
||||
ank:(dusk:(zu ank) p.p.lem)
|
||||
lab ?. ?=(| -.p.lem) lab
|
||||
(~(del by lab) p.p.lem)
|
||||
==
|
||||
::
|
||||
|
|
||||
|- ^+ +>.^$
|
||||
?~ s.p.lem +>.^$
|
||||
$(s.p.lem t.s.p.lem, +>.^$ ^$(lem i.s.p.lem))
|
||||
?- -.lem
|
||||
& (avon:(anti q.lem) (bind p.lem acai))
|
||||
| +>(lab (~(del by lab) p.lem))
|
||||
==
|
||||
::
|
||||
++ anti :: axon:ze
|
||||
|= nyp=soba :: reverse axon
|
||||
^+ +>
|
||||
+>(ank ank:(dusk:(zu ank) nyp))
|
||||
::
|
||||
++ argo :: argo:ze
|
||||
|= oan=@ud :: rewind to aeon
|
||||
^+ +>
|
||||
?: =(let oan) +>
|
||||
?> ?=(^ hit)
|
||||
?> ?=(& -.q.i.hit)
|
||||
=> .(+> (ante q.i.hit))
|
||||
$(let (dec let), hit t.hit)
|
||||
=+ lem=?>(?=(^ hit) q.i.hit)
|
||||
=: let (dec let)
|
||||
hit t.hit
|
||||
==
|
||||
$(+> (ante lem))
|
||||
::
|
||||
++ arum :: arum:ze
|
||||
|= [tak=(list tako) kat=(list tako)] :: hard merge
|
||||
(aloe (alto (alba tak) (alba kat)))
|
||||
::
|
||||
++ auld :: auld:ze
|
||||
|= [wen=@da gem=germ sab=saba] :: adjust edits
|
||||
^- (unit saba) ::::::
|
||||
|= [wen=@da gem=germ sab=saba] :: construct merge
|
||||
^- (unit (unit nori)) ::::::
|
||||
=+ ^= viq ^- [p=@ud q=@ud] ::
|
||||
=+ viq=(~(get by ang) [p.sab q.sab]) ::
|
||||
?~(viq [0 0] u.viq) ::
|
||||
?: =(let p.viq) [~ sab] :: perfect fit
|
||||
=+ paj=(axel:(argo p.viq) wen [%| sab]) ::
|
||||
=. sab ::
|
||||
?: =(q.viq p.r.sab) sab :: perfect motion
|
||||
?> (gth q.viq p.r.sab) :: proper motion
|
||||
%= sab ::
|
||||
p.r q.viq ::
|
||||
s (slag (sub q.viq p.r.sab) s.sab) ::
|
||||
== ::
|
||||
?~ s.sab [~ ~]
|
||||
=+ ^= mus ^- masu
|
||||
[p.sab q.sab [p.viq +(let)] [q.viq q.r.sab]]
|
||||
:: ~& [%auld p.mus q.mus [%too r.mus] [%fro s.mus]]
|
||||
=+ kat=(alar s.sab)
|
||||
=+ lem=`nori`[%& [~ mus] `soba`[[@ @] kat]]
|
||||
?: =(let p.viq)
|
||||
:: ~& [%nice let]
|
||||
[~ ~ lem] :: perfect fit
|
||||
=+ paj=(axel:(argo p.viq) wen lem) :: XX !!
|
||||
?: =(ank.paj ank) ::
|
||||
[~ sab(s (aint s.sab))] :: same outcome
|
||||
?- gem ::
|
||||
%fine ~ :: nothing perfect
|
||||
%mate ~|(%mate-stub !!) :: not supported
|
||||
%that [~ sab(s (weld (acid p.viq) s.sab))] :: discard internal
|
||||
%this :: discard external
|
||||
[~ sab(s (aint s.sab))] ::
|
||||
== ::
|
||||
:: ~& [%same [let p.viq]]
|
||||
[~ ~ lem(q.q ~)]
|
||||
=+ ^= tak
|
||||
%- alar %- flop
|
||||
%+ turn (scag (sub let p.viq) hit)
|
||||
|=(a=frog q.a)
|
||||
=+ tig=(mang [arum tak kat] |=(* *(unit)))
|
||||
?^ tig [~ ~ lem(q.q ((hard (list tako)) u.tig))]
|
||||
?- gem
|
||||
%fine ~ :: nothing perfect
|
||||
%mate ~|(%mate-stub !!) :: not supported
|
||||
%that [~ ~ lem(q.q (weld (acid p.viq) q.q.lem))]
|
||||
%this [~ ~ lem(q.q ~)]
|
||||
==
|
||||
::
|
||||
++ auto :: auto:ze
|
||||
|= mun=mood :: read at point
|
||||
^- (unit)
|
||||
?: ?=(%v p.mun)
|
||||
[~ `dome`+<+.auto]
|
||||
?: &(?=(%w p.mun) !?=(%ud -.q.mun))
|
||||
?^(r.mun ~ [~ let])
|
||||
?: ?=(%w p.mun)
|
||||
@ -578,33 +714,32 @@
|
||||
?^(r.mun ~ [~ oan])
|
||||
(auto:(argo oan) mun)
|
||||
::
|
||||
++ avon :: avon:ze
|
||||
|= mys=(unit masu) :: apply trout
|
||||
^+ +>
|
||||
?~ mys +>
|
||||
=+ [yek=[p.u.mys q.u.mys] det=[q.r.u.mys q.s.u.mys]]
|
||||
=+ guf=(~(get by ang) yek)
|
||||
=+ ted=`moar`?~(guf [0 0] u.guf)
|
||||
:: ~& [%avon p.u.mys q.u.mys [%haz ted] [%too r.u.mys] [%fro s.u.mys]]
|
||||
?> &(=(p.ted p.r.u.mys) =(q.ted p.s.u.mys))
|
||||
+>.$(ang ?:(=([0 0] det) (~(del by ang) yek) (~(put by ang) yek det)))
|
||||
::
|
||||
++ axel :: axel:ze
|
||||
|= [wen=@da lem=maki] :: edit
|
||||
|= [wen=@da lem=nori] :: edit
|
||||
^+ +>
|
||||
=: let +(let)
|
||||
hit :_(hit [wen lem])
|
||||
==
|
||||
?- -.lem
|
||||
&
|
||||
%= +>.$
|
||||
ank ?. ?=(& -.p.lem) ank
|
||||
ank:(durn:(zu ank) p.p.lem)
|
||||
lab ?. ?=(| -.p.lem) lab
|
||||
?< (~(has by lab) p.p.lem)
|
||||
(~(put by lab) p.p.lem let)
|
||||
==
|
||||
::
|
||||
|
|
||||
=+ sab=p.lem
|
||||
=+ ^= vip ^- @ud
|
||||
=+ vip=(~(get by ang) [p.sab q.sab])
|
||||
?~(vip 0 p.u.vip)
|
||||
?> =(vip p.r.sab)
|
||||
=. ang (~(put by ang) [p.sab q.sab] [q.r.sab let])
|
||||
|- ^+ +>.^$
|
||||
?~ s.sab +>.^$
|
||||
$(s.sab t.s.sab, +>.^$ ^$(lem i.s.sab))
|
||||
?- -.lem
|
||||
& (avon:(axon q.lem) p.lem)
|
||||
| +>(lab ?<((~(has by lab) p.lem) (~(put by lab) p.lem let)))
|
||||
==
|
||||
::
|
||||
++ axon :: axon:ze
|
||||
|= nyp=soba :: apply changes
|
||||
^+ +>
|
||||
+>(ank ank:(durn:(zu ank) nyp))
|
||||
--
|
||||
::
|
||||
++ zu !: :: filesystem
|
||||
@ -716,12 +851,11 @@
|
||||
=> .(+ (drum p.i.myz q.i.myz))
|
||||
$(myz t.myz)
|
||||
::
|
||||
++ dupe :: apply
|
||||
|
|
||||
::
|
||||
++ durn :: apply forward
|
||||
|= nyp=soba
|
||||
^+ +>
|
||||
?: =([0 0] p.nyp)
|
||||
dune(myz q.nyp)
|
||||
=> ?: =(p.ank p.p.nyp) .
|
||||
~& [%durn-in-wrong p.ank p.p.nyp]
|
||||
.
|
||||
@ -1186,7 +1320,7 @@
|
||||
?. ?=(^ ved) ~
|
||||
=+ his=`@p`q.p.u.fal
|
||||
=+ [dis=(end 3 1 q.p.u.hyr) rem=(rsh 3 1 q.p.u.hyr)]
|
||||
?. ?&(?=(%c dis) ?=(?(%w %x %y %z) rem)) ~
|
||||
?. ?&(?=(%c dis) ?=(?(%v %w %x %y %z) rem)) ~
|
||||
[~ rem (case p.u.ved) q.p.u.fal q.p.u.dyc tyl]
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: section 3bF, Arvo models ::
|
||||
@ -1218,7 +1352,7 @@
|
||||
++ tear |=(a=@ *(unit ,[p=@ q=@])) :: accept
|
||||
-- ::
|
||||
-- ::
|
||||
++ agon (map ,[p=ship q=disc] ,[p=@ud q=@ud]) :: mergepoints
|
||||
++ agon (map ,[p=ship q=disc] ,[p=@ud q=@ud]) :: mergepts our/their
|
||||
++ ankh :: fs node (new)
|
||||
$: p=cash :: recursive hash
|
||||
q=(unit ,[p=cash q=*]) :: file
|
||||
@ -1230,8 +1364,8 @@
|
||||
++ bait ,[p=skin q=@ud r=dove] :: fmt nrecvd spec
|
||||
++ bath :: convo per client
|
||||
$: sop=shed :: not stalled
|
||||
raz=(map ,@ta race) :: statements inbound
|
||||
ryl=(map ,@ta rill) :: statements outbound
|
||||
raz=(map path race) :: statements inbound
|
||||
ryl=(map path rill) :: statements outbound
|
||||
== ::
|
||||
++ bead :: terminal control
|
||||
$: $: bul=@ud :: buffer length
|
||||
@ -1301,9 +1435,9 @@
|
||||
++ boat ,[(list slip) tart] :: user stage
|
||||
++ boon :: fort output
|
||||
$% [%beer p=ship q=@uvG] :: gained ownership
|
||||
[%coke p=sock q=cape r=soap s=duct] :: message result
|
||||
[%coke p=sock q=soap r=cape s=duct] :: message result
|
||||
[%mead p=lane q=rock] :: accept packet
|
||||
[%milk p=sock q=@tas r=@ud s=(unit ,*)] :: accept message
|
||||
[%milk p=sock q=soap r=*] :: accept message
|
||||
[%ouzo p=lane q=rock] :: transmit packet
|
||||
[%wine p=sock q=tape] :: notify user
|
||||
== ::
|
||||
@ -1326,7 +1460,6 @@
|
||||
++ cape :: end-to-end result
|
||||
$? %good :: delivered
|
||||
%dead :: rejected
|
||||
%lost :: interrupted
|
||||
== ::
|
||||
++ card :: event
|
||||
$% [%bbye ~] :: reset prompt
|
||||
@ -1401,14 +1534,14 @@
|
||||
[%volt p=*] :: upgrade kernel
|
||||
[%wait p=@da q=path] :: timer wait
|
||||
[%wake ~] :: timer activate
|
||||
[%want p=ship q=@ta r=*] :: send message
|
||||
[%warp p=ship q=riff] :: request
|
||||
[%wart p=ship q=@ta r=@ud s=(unit ,*)] :: incoming response
|
||||
[%warn p=tape] :: system message
|
||||
[%went p=ship q=cape r=soap] :: outgoing reaction
|
||||
[%waft p=ship q=*] :: response message
|
||||
[%want p=ship q=path r=*] :: send message
|
||||
[%warn p=tape] :: syslog
|
||||
[%warp p=ship q=riff] :: file request
|
||||
[%wart p=ship q=@tas r=path s=*] :: service request
|
||||
[%went p=ship q=cape] :: reaction message
|
||||
[%wipe ~] :: clean to sequence
|
||||
[%word p=chum] :: set password
|
||||
[%wort p=tape] :: semantic failure
|
||||
[%writ p=riot] :: response
|
||||
== ::
|
||||
++ cart ,[p=cash q=cash] :: hash change
|
||||
@ -1443,14 +1576,6 @@
|
||||
++ cred ,[p=? q=logo q=oryx r=(unit ship)] :: client credentials
|
||||
++ cult (map duct rave) :: subscriptions
|
||||
++ deed ,[p=@ q=step] :: signature, stage
|
||||
++ dock :: link record
|
||||
$: for=ship :: host
|
||||
dys=@tas :: linked to desk
|
||||
kol=case :: last update case
|
||||
num=@ud :: update count
|
||||
cuz=(list ,[p=@ud q=dole]) :: cumulative update
|
||||
== ::
|
||||
++ dole ,[p=(unit moar) q=(list maki)] :: flow trace
|
||||
++ dome :: project state
|
||||
$: ang=agon :: pedigree
|
||||
ank=ankh :: new state
|
||||
@ -1458,7 +1583,7 @@
|
||||
hit=(list frog) :: changes in reverse
|
||||
lab=(map ,@tas ,@ud) :: labels
|
||||
== ::
|
||||
++ desk ,[p=cult q=dome] :: project state
|
||||
++ desk ,[p=cult q=dome] :: domestic desk state
|
||||
++ disc ,@ta :: modeshipdeskcasespur
|
||||
++ door :: foreign contact
|
||||
$: wod=road :: connection to
|
||||
@ -1475,9 +1600,8 @@
|
||||
$: hop=@da :: network boot date
|
||||
ton=town :: security
|
||||
zac=(map ship oven) :: flows by server
|
||||
rop=(map ,[p=@ud q=sock] riff) :: remote requests
|
||||
== ::
|
||||
++ frog ,[p=@da q=maki] :: project change
|
||||
++ frog ,[p=@da q=nori] :: time and change
|
||||
++ gift :: one-way effect
|
||||
$% [%$ p=vase] :: trivial output
|
||||
[%cc p=(unit case)] :: change case
|
||||
@ -1494,6 +1618,8 @@
|
||||
[%ok p=disc q=nori] :: save changes
|
||||
[%sc p=(unit skit)] :: stack library
|
||||
[%sp p=(list lark)] :: spawn task(s)
|
||||
[%sq p=ship q=@tas r=path s=*] :: send request
|
||||
[%sr p=ship q=path r=*] :: send response
|
||||
[%te p=(list ,@t)] :: dump lines
|
||||
[%th p=@ud q=love] :: http response
|
||||
[%va p=@tas q=(unit vase)] :: set/clear variable
|
||||
@ -1514,10 +1640,11 @@
|
||||
$% [%eg p=riot] :: simple result
|
||||
[%ht p=@ud q=scab r=cred s=moth] :: http request
|
||||
[%it p=~] :: interrupt event
|
||||
[%lq p=ship q=path r=*] :: client request
|
||||
[%ly p=newt q=tape] :: lifecycle event
|
||||
[%ow p=cape] :: one-way reaction
|
||||
[%rt p=(unit)] :: roundtrip response
|
||||
[%up p=@t] :: prompt response
|
||||
[%oy p=ship q=@ta r=@ud s=(unit ,*)] :: incoming request
|
||||
[%yo p=ship q=cape r=soap] :: request response
|
||||
[%wa ~] :: alarm
|
||||
== ::
|
||||
++ goal :: app request
|
||||
@ -1526,10 +1653,11 @@
|
||||
[%eg p=kite] :: single request
|
||||
[%es p=ship q=disc r=rave] :: subscription
|
||||
[%ht p=(list rout)] :: http server
|
||||
[%oy p=@ta] :: listen on channel
|
||||
[%up p=prod] :: user prompt
|
||||
[%lq p=@tas] :: listen for service
|
||||
[%ow ~] :: one-way reaction
|
||||
[%rt ~] :: roundtrip response
|
||||
[%up p=prod] :: user prompt
|
||||
[%wa p=@da] :: alarm
|
||||
[%yo p=ship q=@ta r=*] :: network message
|
||||
== ::
|
||||
++ govt path :: country/postcode
|
||||
++ gram ,@uw :: physical datagram
|
||||
@ -1584,7 +1712,6 @@
|
||||
++ lice ,[p=ship q=buck] :: full license
|
||||
++ life ,@ud :: regime number
|
||||
++ lint (list rock) :: fragment array
|
||||
++ link ,[p=code q=sock] :: connection
|
||||
++ logo ,@uvI :: session identity
|
||||
++ love $% :: http response
|
||||
[%ham p=manx] :: html node
|
||||
@ -1592,10 +1719,6 @@
|
||||
[%raw p=httr] :: raw http response
|
||||
== ::
|
||||
++ mace (list ,[p=life q=ring]) :: private secrets
|
||||
++ maki :: general change
|
||||
$% [& p=nori] :: direct change
|
||||
[| p=saba] :: metachange
|
||||
== ::
|
||||
++ mane $|(@tas [@tas @tas]) :: XML name/space
|
||||
++ manx ,[t=marx c=marl] :: XML node
|
||||
++ marl (list manx) :: XML node list
|
||||
@ -1603,10 +1726,11 @@
|
||||
++ mart (list ,[n=mane v=tape]) :: XML attributes
|
||||
++ marv ?(%da %tas %ud) :: release form
|
||||
++ marx $|(@tas [n=mane a=mart]) :: XML tag
|
||||
++ masu ,[p=ship q=disc r=moar s=moar] :: sync square
|
||||
++ math (map ,@t (list ,@t)) :: semiparsed headers
|
||||
++ meal :: payload
|
||||
$% [%back p=cape q=flap r=@dr] :: acknowledgment
|
||||
[%bond p=life q=@ta r=@ud s=*] :: message
|
||||
[%bond p=life q=path r=@ud s=*] :: message
|
||||
[%carp p=@ q=@ud r=@ud s=flap t=@] :: skin/inx/cnt/hash
|
||||
[%fore p=ship q=(unit lane) r=@] :: forwarded packet
|
||||
== ::
|
||||
@ -1638,7 +1762,7 @@
|
||||
goad ::
|
||||
== ::
|
||||
++ nori :: repository action
|
||||
$% [& p=soba] :: delta
|
||||
$% [& p=(unit masu) q=soba] :: delta
|
||||
[| p=@tas] :: label
|
||||
== ::
|
||||
++ octs ,[p=@ud q=@] :: octet-stream
|
||||
@ -1695,12 +1819,11 @@
|
||||
$% [& p=mood] :: single request
|
||||
[| p=moat] :: change range
|
||||
== ::
|
||||
++ rede :: mirror
|
||||
$: lim=@da :: updated to
|
||||
ask=(unit ,@da) :: requested to
|
||||
pal=(list disc) :: propagated to
|
||||
qyx=cult :: subscriptions
|
||||
dom=dome :: state
|
||||
++ rede :: universal project
|
||||
$: lim=@da :: complete to
|
||||
qyx=cult :: subscribers
|
||||
ref=(unit rind) :: external requests
|
||||
dom=dome :: revision state
|
||||
== ::
|
||||
++ riff ,[p=disc q=(unit rave)] :: request/desist
|
||||
++ rill :: outbound stream
|
||||
@ -1709,8 +1832,9 @@
|
||||
== ::
|
||||
++ rind :: request manager
|
||||
$: nix=@ud :: request index
|
||||
bim=(map ,@ud ,[p=duct q=riff]) :: outstanding
|
||||
bom=(map ,@ud ,[p=duct q=rave]) :: outstanding
|
||||
fod=(map duct ,@ud) :: current requests
|
||||
haw=(map mood (unit)) :: simple cache
|
||||
== ::
|
||||
++ rink :: foreign state
|
||||
$: hac=(map rump ,*) :: cache
|
||||
@ -1726,13 +1850,12 @@
|
||||
$: hun=duct :: terminal duct
|
||||
hez=(unit duct) :: sync duct
|
||||
dos=(map ,@tas ,[p=cult q=dome]) :: native projects
|
||||
den=(map ,@tas dock) :: links
|
||||
rid=(map ship ,[p=rind q=rink]) :: neighbors
|
||||
rid=(map ship (map ,@tas rede)) :: neighbors
|
||||
== ::
|
||||
++ rock ,@uvO :: packet
|
||||
++ rout ,[p=(list host) q=path r=oryx s=path] :: http route (new)
|
||||
++ rump ,[p=care q=case r=@tas s=path] :: relative path
|
||||
++ saba ,[p=ship q=@tas r=moar s=(list maki)] :: patch/merge
|
||||
++ saba ,[p=ship q=@tas r=moar s=(list nori)] :: patch/merge
|
||||
++ safe :: domestic host
|
||||
$: hoy=(list ship) :: hierarchy
|
||||
val=wand :: private keys
|
||||
@ -1780,8 +1903,8 @@
|
||||
++ slip ,[p=bell q=goal] :: traceable request
|
||||
++ sled ,[p=* q=*] :: [data code]
|
||||
++ snow ,[p=@ud q=@ud r=(set ,@ud)] :: window exceptions
|
||||
++ soap ,[p=[p=life q=life] q=@tas r=@ud] :: statement id
|
||||
++ soup ,[p=@tas q=@ud] :: new statement id
|
||||
++ soap ,[p=[p=life q=life] q=path r=@ud] :: statement id
|
||||
++ soup ,[p=path q=@ud] :: new statement id
|
||||
++ soul :: packet in travel
|
||||
$: gom=soup :: message identity
|
||||
nux=@ud :: xmission count
|
||||
@ -1789,10 +1912,11 @@
|
||||
lys=@da :: last sent
|
||||
pac=rock :: packet data
|
||||
== ::
|
||||
++ soba ,[p=cart q=(list ,[p=path q=miso])] :: delta
|
||||
++ soba ,[p=cart q=(list tako)] :: delta
|
||||
++ sock ,[p=ship q=ship] :: from to
|
||||
++ spur path :: modeshipdeskcasespur
|
||||
++ step ,[p=bray q=gens r=pass] :: identity stage
|
||||
++ tako ,[p=path q=miso] :: change detail
|
||||
++ tart _|+([@da path note] *bowl) :: process core
|
||||
++ task ::
|
||||
$: paq=(qeu gyro) :: prompt queue
|
||||
|
@ -180,7 +180,7 @@
|
||||
%+ (posh (add ~s1 now)) ~[la/leaf/"generating 2048-bit RSA key..."]
|
||||
|= now=@da
|
||||
=+ loy=(brew 2.048 bur)
|
||||
%- (post bos [%ta %to] [mig tic ges pub:ex:loy])
|
||||
%- (post bos %ta [mig tic ges pub:ex:loy])
|
||||
|= [now=@da rup=(unit ,*)]
|
||||
:_ ~
|
||||
?~ rup ~[la/leaf/"request rejected"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
::
|
||||
::
|
||||
:: /=main=/bin/hello/hoon
|
||||
::
|
||||
|= *
|
||||
|
@ -4,18 +4,20 @@
|
||||
|= *
|
||||
|= [bud=@p ebb=$|(~ [tex=tape ~])]
|
||||
^- bowl
|
||||
:- ~
|
||||
:- :~ [%sq bud %hi /request ?~(ebb '' (rap 3 tex.ebb))]
|
||||
==
|
||||
:- ~
|
||||
:- ^- (list slip)
|
||||
:~ [/foo/bar [%yo bud %hi ?~(ebb '' (rap 3 tex.ebb))]]
|
||||
:~ [/request [%ow ~]]
|
||||
[/prompt [%up %none "waiting for {(scow %p bud)}" ~]]
|
||||
==
|
||||
|= [now=@da pax=path nut=note]
|
||||
?> =(/foo/bar pax)
|
||||
?> ?=(%yo -.nut)
|
||||
:- ?: =(%good q.nut)
|
||||
?> =(/request pax)
|
||||
?> ?=(%ow -.nut)
|
||||
:- ?: =(%good p.nut)
|
||||
~
|
||||
:_ ~
|
||||
:- %ha
|
||||
:- %leaf
|
||||
"hi: {<p.nut>}.{<p.p.r.nut>} spurned {<q.r.nut>}/{<q.p.r.nut>}/{<r.r.nut>}"
|
||||
"hi: {(scow %p bud)} rejected a message"
|
||||
~
|
||||
|
@ -1,12 +1,25 @@
|
||||
!:
|
||||
:: /=main=/bin/update/hoon
|
||||
:: /=main=/bin/install/hoon
|
||||
::
|
||||
=> .(-< `who=@p`-<)
|
||||
|= *
|
||||
|= [est=time eny=@uw]
|
||||
|= ~
|
||||
^- bowl
|
||||
?: =(~zod who) [~ ~]
|
||||
=+ bos==+(bos=(sein who) ?.(=(bos who) bos ~zod))
|
||||
=+ ^= syn ^- (list ,@tas)
|
||||
[%main %arvo %try ~]
|
||||
:_ ~
|
||||
=+ bos=(sein who)
|
||||
:~ [%xy /c [%pull bos %main ~[%main]]]
|
||||
[%xy /c [%pull bos %spec ~[%spec]]]
|
||||
[%xy /c [%pull bos %arvo ~[%arvo]]]
|
||||
==
|
||||
^- (list gift)
|
||||
:- [%la %leaf "updating..."]
|
||||
%+ turn syn
|
||||
|= des=@tas
|
||||
=+ der=((hard dome) .^(%cv /(scot %p bos)/[des]/=))
|
||||
=+ owr=((hard dome) .^(%cv /(scot %p who)/[des]/=))
|
||||
=+ sab=`saba`[bos des [0 let.der] (flop (turn hit.der |=(a=frog q.a)))]
|
||||
=+ lum=(~(auld ze est owr) est %fine sab)
|
||||
?~ lum
|
||||
`gift`[%la %leaf "{(trip des)} failed to merge"]
|
||||
?~ u.lum
|
||||
`gift`[%la %leaf "{(trip des)} is up to date"]
|
||||
`gift`[%ok des u.u.lum]
|
||||
|
@ -38,39 +38,32 @@
|
||||
(wop now)
|
||||
::
|
||||
++ post :: request/response
|
||||
|= [him=@p [cho=@ta chu=@ta] msg=*]
|
||||
|= [him=@p cav=@tas msg=*]
|
||||
|= woo=||([@da (unit ,*)] bowl)
|
||||
^- bowl
|
||||
=+ leg="waiting for {(scow %p him)}"
|
||||
:- ~ :- ~
|
||||
:- :~ [%sq him cav /request msg]
|
||||
==
|
||||
:- ~
|
||||
:- ^- (list slip)
|
||||
:~ [/request [%yo him cho msg]]
|
||||
[/response [%oy chu]]
|
||||
:~ [/request [%rt ~]]
|
||||
[/prompt [%up %none leg ~]]
|
||||
==
|
||||
|= [now=@da pax=path nut=note]
|
||||
^- bowl
|
||||
?+ -.nut !!
|
||||
%oy (woo now s.nut)
|
||||
%yo
|
||||
?. =(%good q.nut) (woo now ~)
|
||||
:- ~ :- ~
|
||||
:_ ..$
|
||||
^- (list slip)
|
||||
:~ [/response [%oy chu]]
|
||||
[/prompt [%up %none leg ~]]
|
||||
==
|
||||
?+ -.nut ~& [%bad-nut nut] !!
|
||||
%rt (woo now p.nut)
|
||||
==
|
||||
::
|
||||
++ pour
|
||||
|= $: est=@da
|
||||
dyz=(list ,[p=@tas q=[p=ship q=disc r=moat]])
|
||||
wop=||([@da (map ,@tas ,[p=(unit ,@ud) q=(list frog)])] bowl)
|
||||
wop=||([@da (map ,@tas ,[p=@ud q=(list frog)])] bowl)
|
||||
==
|
||||
^- bowl
|
||||
?~ dyz (wop est ~)
|
||||
=+ :* zyd=(~(gas by *(map ,@tas ,[p=ship q=disc r=moat])) dyz)
|
||||
fyx=*(map ,@tas ,[p=(unit ,@ud) q=(list frog)])
|
||||
fyx=*(map ,@tas ,[p=@ud q=(list frog)])
|
||||
==
|
||||
=< apex
|
||||
|%
|
||||
@ -92,17 +85,17 @@
|
||||
+>(zyd (~(del by zyd) cyt))
|
||||
?> ?=(%ud -.q.p.u.rot)
|
||||
=+ geb=(need (~(get by zyd) cyt))
|
||||
=+ saq=(need (~(get by fyx) cyt))
|
||||
=+ saq=(~(get by fyx) cyt)
|
||||
%= +>.$
|
||||
zyd
|
||||
%+ ~(put by zyd) cyt
|
||||
?> =(+(p.p.r.geb) p.q.p.u.rot)
|
||||
geb(p.r q.p.u.rot)
|
||||
?> =(p.p.r.geb p.q.p.u.rot)
|
||||
geb(p.r [%ud +(p.q.p.u.rot)])
|
||||
::
|
||||
fyx
|
||||
%+ ~(put by fyx) cyt
|
||||
:- ?~(p.saq [~ p.q.p.u.rot] p.saq)
|
||||
[((hard frog) r.u.rot) q.saq]
|
||||
:- ?~(saq p.q.p.u.rot p.u.saq)
|
||||
[((hard frog) r.u.rot) ?~(saq ~ q.u.saq)]
|
||||
==
|
||||
::
|
||||
++ bite
|
||||
@ -112,7 +105,8 @@
|
||||
=+ fuh=(~(tap by zyd) ~)
|
||||
%+ turn fuh
|
||||
|= [a=@tas b=[p=ship q=disc r=moat]]
|
||||
`slip`[[%pl a ~] %es p.b q.b [%| r.b]]
|
||||
=+ bys=`slip`[[%pull a ~] %es p.b q.b [%| r.b]]
|
||||
bys
|
||||
::
|
||||
++ done
|
||||
^- bowl
|
||||
|
Loading…
Reference in New Issue
Block a user