diff --git a/arvo/ames.hoon b/arvo/ames.hoon index 803da6608..06b69ca49 100644 --- a/arvo/ames.hoon +++ b/arvo/ames.hoon @@ -1433,18 +1433,17 @@ ^? :: opaque core =< |% :: vane interface - ++ beat + ++ take |= [tea=wire hen=duct typ=type fav=card] - =+ wru=*(unit writ) ^- [p=(list move) q=vane] =^ duy ..knap - (knap wru tea hen fav) + (knap tea hen fav) [duy ..^$] :: ++ call |= [hen=duct typ=type fav=card] ^- [p=(list move) q=vane] - (beat ~ hen typ fav) + (take ~ hen typ fav) :: ++ come |= [sam=? old=vase] @@ -1477,8 +1476,10 @@ ..$(fox *furt) :: ++ scry - |= [our=ship ren=@tas his=ship syd=desk lot=coin tyl=path] + |= [fur=(unit (set monk)) ren=@tas his=ship syd=desk lot=coin tyl=path] ^- (unit (unit)) + ?. ?=([~ [[& @] ~ ~]] fur) ~ :: XX lame + =+ our=`ship`p.n.u.fur =- ?~ old ~ [~ ~ u.old] ^= old @@ -1498,7 +1499,7 @@ |% ++ claw |=(our=ship ^-(duct hen:(need (~(get by zac.fox) our)))) ++ clop - |= [wru=(unit writ) now=@da hen=duct bon=boon] + |= [now=@da hen=duct bon=boon] ^- [(list move) furt] ?- -.bon %beer @@ -1560,7 +1561,7 @@ =. ton.fox (~(su go ton.fox) gus) :_ fox :~ :- hen - [%call %a ~ %want p.bon [%r %ta t.t.q.q.bon] `(unit will)`wyl] + [%toss %a ~ %want p.bon [%r %ta t.t.q.q.bon] `(unit will)`wyl] == %re :: %re :_ fox @@ -1577,7 +1578,7 @@ %+ turn paz |= him=ship :- hen - [%call %a ~ %want [p.p.bon him] /q/yu [q.p.bon r.bon]] + [%toss %a ~ %want [p.p.bon him] /q/yu [q.p.bon r.bon]] == :: %ouzo @@ -1602,11 +1603,14 @@ == :: ++ knap - |= [wru=(unit writ) tea=wire hen=duct fav=card] + |= [tea=wire hen=duct fav=card] ^- [(list move) _+>] ?: ?=([%crud *] fav) [[[hen [%slip %d %flog fav]] ~] +>] - =+ ^= fuy ^- [p=(list boon) q=furt] + ?: ?=([%soft *] fav) + $(fav ((hard card) p.fav)) + =+ ^= fuy + ^- [p=(list boon) q=furt] ?+ -.fav [~ fox] :: @@ -1643,7 +1647,7 @@ |- ^- [p=(list move) q=_+>.^$] ?~ p.fuy [(flop out) +>.^$] - =^ toe fox (clop wru now hen i.p.fuy) + =^ toe fox (clop now hen i.p.fuy) $(p.fuy t.p.fuy, out (weld (flop toe) out)) :: ++ perm diff --git a/arvo/batz.hoon b/arvo/batz.hoon index 43d651117..a53d14781 100644 --- a/arvo/batz.hoon +++ b/arvo/batz.hoon @@ -175,7 +175,7 @@ => .(fog (weld t.fog `(list ,@ud)`[i.fog ~])) [[[hen [%give %helo prot]] ~] +<.^^$] %noop [~ +<.^^$] - :: %thee abet:lash:(lean tea hen fav) + %soft $(fav ((hard card) p.fav)) %thou ?. (fear tea) :: legit [~ +<.^^$] abet:lash:(lean tea hen fav) @@ -1151,13 +1151,15 @@ |= [now=@da eny=@ ska=$+(* (unit (unit)))] :: current invocation ^? :: opaque core |% :: poke/peek pattern -++ beat :: process move +++ take :: process move |= [tea=wire hen=duct typ=type fav=card] ^- [p=(list move) q=vane] - :: ~& [%batz-beat -.fav [%tea tea] [%hen hen]] + :: ~& [%batz-take -.fav [%tea tea] [%hen hen]] =+ sky=|=(* `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a])))) ?: ?=([%crud *] fav) [[[hen [%slip %d %flog fav]] ~] ..^$] + ?: ?=([%soft *] fav) + $(fav ((hard card) p.fav)) ?: ?=(%wake -.fav) =+ ^= fiy =| fiy=(list ,[p=duct q=ship r=[p=@ud q=@ud r=wire]]) @@ -1197,18 +1199,18 @@ =+ dus=(~(get by dez) hen) ?~ dus ?+ -.fav - ~& [%beat-none -.fav tea hen] - ~|([%beat-none -.fav] !!) + ~& [%take-none -.fav tea hen] + ~|([%take-none -.fav] !!) :: %hail ?~ big - ~& [%beat-hail-soon hen] + ~& [%take-hail-soon hen] [~ ..^^$] ~& [%batz-hack-console hen] $(dez (~(put by dez) hen [[u.big (bard u.big)] ~])) :: %init - :: ~& [%beat-init p.fav hen] + :: ~& [%take-init p.fav hen] =. big ?~ big `p.fav `(min p.fav u.big) @@ -1221,7 +1223,7 @@ ..^^$(dez (~(put by dez) hen [[p.fav (bard p.fav)] ~])) :: ?(%loin %make %sith) - [[[hen [%call %a tea fav]] ~] ..^^$] + [[[hen [%toss %a tea fav]] ~] ..^^$] == ?> ?=(^ u.dus) ?+ -.fav @@ -1247,7 +1249,7 @@ :: ++ call :: process move |= [hen=duct typ=type fav=card] - (beat ~ hen typ fav) + (take ~ hen typ fav) :: ++ come |= [sam=? old=vase] @@ -1285,7 +1287,7 @@ ..$(dez ~) :: ++ scry - |= [our=ship ren=@tas his=ship syd=desk lot=coin tyl=path] + |= [fur=(unit (set monk)) ren=@tas his=ship syd=desk lot=coin tyl=path] ^- (unit (unit)) ~ :: diff --git a/arvo/clay.hoon b/arvo/clay.hoon index fe89d5f16..36949111d 100644 --- a/arvo/clay.hoon +++ b/arvo/clay.hoon @@ -35,7 +35,7 @@ %+ turn (flop say) |= [a=duct b=path c=ship d=[p=@ud q=riff]] :- a - [%call %a b %want [who c] [%q %re p.q.d (scot %ud p.d) ~] q.d] + [%toss %a b %want [who c] [%q %re p.q.d (scot %ud p.d) ~] q.d] == :: ++ doze @@ -365,12 +365,15 @@ |= [now=@da eny=@ ska=$+(* (unit (unit)))] :: activate ^? :: opaque core |% :: - ++ beat :: update + ++ take :: update |= [tea=wire hen=duct typ=type fav=card] ^- [p=(list move) q=vane] ?+ -.fav [[[hen %give fav] ~] ..^$] %crud [[[hen %slip %d %flog fav] ~] ..^$] + :: + %soft + $(fav ((hard card) p.fav)) :: %init [~ ..^$(fat.ruf (~(put by fat.ruf) p.fav [hen ~ ~ ~]))] @@ -413,7 +416,7 @@ =+ ryf=((hard riff) s.fav) :_ ..^$ :~ :- hen - :^ %call %c + :^ %toss %c [(scot %p p.p.fav) (scot %p q.p.fav) r.fav] [%warp [p.p.fav p.p.fav] ryf] == @@ -424,7 +427,7 @@ =+ him=(need (slaw %p i.t.tea)) :_ ..^$ :~ :- hen - [%call %a ~ [%want [our him] [%r %re %c t.t.tea] p.fav]] + [%toss %a ~ [%want [our him] [%r %re %c t.t.tea] p.fav]] == :: %went :: XX should actually propagate @@ -443,7 +446,7 @@ :: ++ call :: process move |= [hen=duct typ=type fav=card] - (beat ~ hen typ fav) + (take ~ hen typ fav) :: ++ come |= [sam=? old=vase] @@ -471,7 +474,7 @@ ..$(ruf *raft) :: ++ scry :: inspect - |= [our=ship ren=@tas his=ship syd=desk lot=coin tyl=path] + |= [fur=(unit (set monk)) ren=@tas his=ship syd=desk lot=coin tyl=path] ^- (unit (unit)) =+ ^= whu ^- (unit ,@p) :: XX HEINOUS! ?: (~(has by fat.ruf) his) @@ -482,7 +485,7 @@ ?: (~(has by rid.q.i.foo) his) `p.i.foo $(foo t.foo) ?~ whu ~ - =. our u.whu + =+ our=u.whu :: ~? !=(`our whu) [%clay-scry whu our ren his syd lot tyl] =+ luk=?.(?=(%$ -.lot) ~ ((soft case) p.lot)) ?~ luk [~ ~] diff --git a/arvo/dill.hoon b/arvo/dill.hoon index 7800d272e..95982b2fd 100644 --- a/arvo/dill.hoon +++ b/arvo/dill.hoon @@ -8,13 +8,15 @@ |= [now=@da eny=@ ska=$+(* (unit (unit)))] :: current invocation ^? :: opaque core |% :: poke/peek pattern -++ beat :: process move +++ take :: process move |= [tea=wire hen=duct typ=type fav=card] ^- [p=(list move) q=vane] ?: ?=(%flog -.fav) :_ ..^$ %+ turn (~(tap by dug) *(list ,[p=duct q=yard])) |=([a=duct b=yard] [a %slip %d p.fav]) + ?: ?=(%soft -.fav) + $(fav ((hard card) p.fav)) =+ ^= yar ^- yard =+ yar=(~(get by dug) hen) ?^ yar u.yar @@ -229,7 +231,7 @@ %d ?: ?& =(0 bul.u.q.q.yar) =(0 bus.u.q.q.yar) == - +.$(mos :_(mos [hen %call %b ~ [%kill ~]])) + +.$(mos :_(mos [hen %toss %b ~ [%kill ~]])) $(fav [%belt %del ~]) %e (edit u.q.q.yar(bus bul.u.q.q.yar)) %f $(fav [%belt %aro %r]) @@ -277,8 +279,8 @@ == %r (edit u.q.q.yar(hyr [~ ~])) :: TODO - :: %w +.$(mos :_(mos [hen %call %b ~ [%limn ~]])) - %x +.$(mos :_(mos [hen %call %b ~ [%ling ~]])) + :: %w +.$(mos :_(mos [hen %toss %b ~ [%limn ~]])) + %x +.$(mos :_(mos [hen %toss %b ~ [%ling ~]])) %y ?: =(0 p.r.q.yar) beep $(fav [%belt %txt (snag q.r.q.yar r.r.q.yar)]) @@ -347,9 +349,9 @@ [p.hyt.u.q.q.yar [jab ?~(q.hyt.u.q.q.yar ~ +.q.hyt.u.q.q.yar)]] :: mos - :* [hen %call %b ~ [%hail ~]] + :* [hen %toss %b ~ [%hail ~]] [hen %give [%bbye ~]] - [hen %call %b ~ [%line jab]] + [hen %toss %b ~ [%line jab]] [hen %give [%blit [[%mor ~] ~]]] mos == @@ -375,7 +377,7 @@ %boot %= +.$ mos - :_(mos [hen %call %b tea p.fav]) + :_(mos [hen %toss %b tea p.fav]) == :: %crud :: error trace @@ -412,7 +414,7 @@ == :: ?(%hail %make %loin %sith) - +.$(mos :_(mos [hen %call %b ~ fav])) + +.$(mos :_(mos [hen %toss %b ~ fav])) :: %note ?.(p.yar +.$ (fume p.fav q.fav)) :: debug message %save :: write a file @@ -435,7 +437,7 @@ :: ++ call :: process move |= [hen=duct typ=type fav=card] - (beat ~ hen typ fav) + (take ~ hen typ fav) :: ++ come |= [sam=? old=vase] @@ -461,7 +463,7 @@ ..$(dug ~) :: ++ scry - |= [our=ship ren=@tas his=ship syd=desk lot=coin tyl=path] + |= [fur=(unit (set monk)) ren=@tas his=ship syd=desk lot=coin tyl=path] ^- (unit (unit)) ~ :: diff --git a/arvo/eyre.hoon b/arvo/eyre.hoon index 00d7a5c12..092e02bec 100644 --- a/arvo/eyre.hoon +++ b/arvo/eyre.hoon @@ -352,12 +352,12 @@ ++ haji :: send %pc login |= [our=ship him=ship ses=hole] ^+ +> - +>.$(mow :_(mow [hen %call %a ~ [%want [our him] [%r %pc ~] ses]])) + +>.$(mow :_(mow [hen %toss %a ~ [%want [our him] [%r %pc ~] ses]])) :: ++ hajj :: send %pr response |= [our=ship him=ship tus=path har=httr] ^+ +> - +>.$(mow :_(mow [hen %call %a ~ [%want [our him] [%r %pr tus] har]])) + +>.$(mow :_(mow [hen %toss %a ~ [%want [our him] [%r %pr tus] har]])) :: ++ hare :: receive request |= [our=ship tus=path him=ship hor=*] @@ -366,7 +366,7 @@ %_ +>.$ mow :_ mow - [hen %call %e [(scot %p our) (scot %p him) tus] ?~(hux [%thud ~] [%this u.hux])] + [hen %toss %e [(scot %p our) (scot %p him) tus] ?~(hux [%thud ~] [%this u.hux])] == :: ++ here :: receive auth @@ -403,7 +403,7 @@ %_ +> mow :_ mow - [hen %call %c [%hoot (scot %p our) ses (scot %ud num) ~] [%warp [our our] rif]] + [hen %toss %c [%hoot (scot %p our) ses (scot %ud num) ~] [%warp [our our] rif]] == :: ++ hone :: kill ford @@ -411,7 +411,7 @@ %_ +> mow :_ mow - [hen %call %f [%honk (scot %p our) ses (scot %ud num) ~] [%exec our ~]] + [hen %toss %f [%honk (scot %p our) ses (scot %ud num) ~] [%exec our ~]] == :: ++ honk :: ford request @@ -420,7 +420,7 @@ %_ +> mow :_ mow - [hen %call %f [%honk (scot %p our) ses (scot %ud num) ~] [%exec our `kas]] + [hen %toss %f [%honk (scot %p our) ses (scot %ud num) ~] [%exec our `kas]] == :: ++ hops :: cancel remote @@ -432,7 +432,7 @@ mow :_ mow :- hen - :^ %call %a + :^ %toss %a [%hork (scot %p sor.rot) mun ~] [%want [sor.rot him] [%q %pr %e %hork mun ~] ~] == @@ -458,7 +458,7 @@ mow :_ mow :- hen - :^ %call %a + :^ %toss %a [%hork (scot %p sor.rot) mun ~] [%want [sor.rot him] [%q %pr %e %hork mun ~] [~ hyx]] :: @@ -1685,7 +1685,7 @@ ?~ fuv mow :_ mow :- hen - :^ %call %b + :^ %toss %b [%cons (scot %p our) ses (scot %ud p.som.pip) ~] u.fuv == @@ -1813,13 +1813,15 @@ |= [now=@da eny=@ ska=$+(* (unit (unit)))] :: activate ^? :: opaque core |% :: -++ beat :: process move +++ take :: process move |= [tea=wire hen=duct typ=type fav=card] ^- [p=(list move) q=vane] =+ sky=|=(* `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a])))) =. ney (shax :(mix (shax now) +(eny) ney)) :: XX!! shd not need ?: ?=(%crud -.fav) [[[hen %slip %d %flog fav] ~] ..^$] + ?: ?=(%soft -.fav) + $(fav ((hard card) p.fav)) ^- [p=(list move) q=vane] =. gub ?.(=(0 gub) gub (cat 3 (rsh 3 1 (scot %p (end 6 1 eny))) '-')) =^ mos bol @@ -1828,7 +1830,7 @@ :: ++ call :: process move |= [hen=duct typ=type fav=card] - (beat ~ hen typ fav) + (take ~ hen typ fav) :: ++ come |= [sam=? old=vase] @@ -1853,7 +1855,7 @@ ..$(+>- *bolo) :: ++ scry - |= [our=ship ren=@tas who=ship syd=desk lot=coin tyl=path] + |= [our=(unit (set monk)) ren=@tas who=ship syd=desk lot=coin tyl=path] ^- (unit (unit)) ~ :: diff --git a/arvo/ford.hoon b/arvo/ford.hoon index 369905a03..651311f99 100644 --- a/arvo/ford.hoon +++ b/arvo/ford.hoon @@ -161,7 +161,7 @@ kiz t.kiz mow :_ mow :- hen - :^ %call %c + :^ %toss %c [(scot %ud num) (scot %ud p.i.kiz) ~] [%warp [our p.q.i.kiz] q.q.i.kiz ~] == @@ -176,7 +176,7 @@ %= $ mow :_ mow :- hen - :^ %call %c + :^ %toss %c [(scot %ud num) (scot %ud tik) ~] [%warp [our p.bem] q.bem [~ %& %x r.bem s.bem]] == @@ -571,9 +571,11 @@ |= [now=@da eny=@ ska=$+(* (unit (unit)))] :: activate ^? :: opaque core |% :: -++ beat :: process move +++ take :: process move |= [tea=wire hen=duct typ=type fav=card] ^- [p=(list move) q=vane] + ?: ?=(%soft -.fav) + $(fav ((hard card) p.fav)) =+ ^= our ^- @p ?+ -.fav !! %exec p.fav @@ -587,7 +589,7 @@ :: ++ call :: process move |= [hen=duct typ=type fav=card] - (beat ~ hen typ fav) + (take ~ hen typ fav) :: ++ come |= [sam=? old=vase] @@ -612,7 +614,7 @@ ..$(+>- *axle) :: ++ scry - |= [our=ship ren=@tas who=ship syd=desk lot=coin tyl=path] + |= [fur=(unit (set monk)) ren=@tas who=ship syd=desk lot=coin tyl=path] ^- (unit (unit)) ~ :: diff --git a/arvo/gall.hoon b/arvo/gall.hoon index 225032ec6..4e1d7322b 100644 --- a/arvo/gall.hoon +++ b/arvo/gall.hoon @@ -3,399 +3,167 @@ :::: |= pit=vase ^- vane -=> =~ -|% :: clams +=> =~ :: preface +|% :: structures ++ axle :: all %gall state - $: ven=%0 :: + $: ven=%0 :: state version pol=(map ship mast) :: apps by ship == :: ++ bone ,@ud :: opaque duct -++ bull ,[p=bone q=(mold note gift)] :: urbit action -++ bump :: urbit event - $: ost=bone :: channel - him=ship :: client - law=(unit chop) :: authority - val=curd :: data - == :: -++ view ,[p=cork q=@da r=(unit ,@dr)] :: timeline -++ gift :: outbound result +++ cork ?(%u %v %w %x %y %z) :: view angle +++ gift :: out result <-$ %$ [%back ~] :: acknowledgment [%crud p=(list tank)] :: error notification - [%seen p=@da q=*] :: view update + [%seen p=@da q=*] :: wind update == :: -++ kiss :: inbound request - $% [%send p=sock q=term r=curd] :: urbit message - [%turd p=(list tank) q=kiss] :: error rebound +++ kiss :: in request ->$ + $% [%mess p=ship q=term r=(disk)] :: urbit message + [%puke p=@tas q=(list tank) r=kiss] :: rising error [%user p=(unit chop) q=kiss] :: restriction - [%view p=ship q=view r=path] :: subscription + [%show p=ship q=term r=wind s=path] :: subscription == :: -++ sign curd :: inbound result V-< -++ note curd :: outbound request V-> -++ hypo |*(a=$+(* *) (pair type a)) -++ debt :: pending operation - $% [%pear p=ship q=(unit chop) r=curd] :: message - [%peer p=(unit chop) q=view r=path] :: subscription - [%peak p=(hypo card)] :: result - == -++ seat :: living app - $: huv=(unit vase) :: current hive +++ mast :: apps by ship + $: bum=(map ,@ta seat) :: apps by name + == :: +++ move ,[p=duct q=(mold note gift)] :: typed move +++ note curd :: out request $-> +++ seat :: the living app + $: + huv=(unit vase) :: current hive dep=(set ,[p=ship q=desk]) :: dependencies orm=(unit ,@da) :: last buildtime eny=@ :: entropy lat=@da :: time of last tick tik=@ud :: tick computed - zos=(map bone ,[p=(unit chop) q=duct]) :: bone to duct - zam=[p=@ud q=(map duct ,@ud)] :: duct to bone vey=(qeu ,[p=bone q=debt]) :: blocked queue + ^= zam :: opaque duct system + $: p=@ud :: sequence + q=(map duct ,[p=bone q=(unit chop)]) :: by duct + r=(map bone duct) :: by bone + == :: == :: -++ mast :: apps by ship - $: bum=(map ,@ta seat) :: apps by name - == :: -++ mitt :: execution context - $: $: ost=bone :: source - pax=path :: hivepath - law=(unit chop) :: rights - == :: -++ wren :: waiting card - $: tig=mitt :: context - fav=card :: content - == :: +++ wind ,[p=cork q=@da r=(unit ,@dr)] :: show window -- :: -|% :: implicit clams -++ cork ?(%u %v %w %x %y %z) :: view angle -++ gift :: - -++ hawk (gaff card) :: -++ hide :: engine state - $: own=[p=ship q=@tas] :: static identity - bec=beak :: installation path - ^= seq :: dynamic sequence - $: num=@ud :: change number - eny=@ :: entropy - lat=@da :: date of last tick - == == :: -++ hive :: typed engine - $_ ^? :: - |_ hide :: hive state - ++ pack * :: save - ++ pear :: request - |+ $: ost=bone :: channel - law=(unit chop) :: authority - him=ship :: client - fov=(hypo card) :: favor - == :: - :_(+> (list bull)) :: - :: :: - ++ peer :: subscribe - |+ % - - ++ poke |+(lima [*(list ,[p=bone q=hawk]) +>]) :: do - ++ peek |+(lira *(unit (unit luge))) :: see - ++ prep |+(* +>) :: load - == :: -++ lima :: wren other side - $: $: ost=bone :: source - law=(unit chop) :: permission - pax=path :: logical position - == - fav=* :: present event - == :: -++ lira :: general query - $: for=(set monk) :: p.u.law - roc=cork :: desired aspect - pax=path :: internal path - == :: --- :: -|% :: -++ ho :: per card - =| $: ost=bone :: opaque cause - hen=duct :: kernel cause - law=(unit chop) :: rights - mow=(list move) :: direct moves - now=@da :: current date - eny=@ :: current entropy - our=@p :: ship - app=@tas :: application name - sat=seat :: application state - == :: - |% - ++ abet - ^- [(list move) seat] - [(flop mow) sat] - :: - ++ apex :: returning card - |= [pan=term pax=path fav=card] - ?+ pan !! - %boot (boot pax fav) - %poke (poke pax fav) - %user (axon pax fav) - %wait (wait pax fav) - == - :: - ++ axon :: user card - |= [pax=path fav=card] - ?> ?=( - :: - ++ babe :: poke or wait - |= [pax=path fav=card] - ?> ?=(%meta -.fav) - - ?~ huv.sat - (bait pax fav) - %= +> - huv.sat ~ - =+ gat=(slap u.huv.sat [%cnzy %poke]) - =+ sam=:(slop !>(law) !>(pax) cav) - =+ - :: - ++ boot :: boot result - |= rew=wren - ?> ?=(%made -.fav.rew) - ?- -.p.fav.rew - | (drip [%crud %gall p.p.fav]) - & (dear p.fav q.q.fav) - == - :: - ++ poke :: poke result - |= rew=wren - ?> ?=(%made -.fav.rew) - ?- -.p.fav.rew - | (drip [%crud %gall p.p.fav]) - & (pone q.q.p.fav) - == - :: - ++ pone :: poke product - |= vax=vase - ^+ +> - ?~ q.vax +> - =+ hed=(slot 2 vax) - =. +>.$ (poof (slot 2 vax)) - $(vax (slot 3 vax)) - :: - ++ poof :: apply effect - |= vax=vase - ^+ +> - =+ nab=(,@ q:(slot 2 vax)) - =+ vib=(need (~(get by zos.sat) nab)) - =: ost nab - law p.vib - hen q.vib - == - (puss (slot 3 vax)) - :: - ++ puss :: poke gaff - |= vax=vase - ^+ +> - =. vax (spec vax) - ?+ -.q.vax !! - %call - =+ ney=`@tas`(sane %tas ((hard ,@) q:(slot 6 vax))) - =+ cav=(quod (slot 7 vax)) - (call ney %used [%meta our cav]) - :: - %drip - (drip [%meta our (slot 3 vax)]) - :: - %stop - +>.$(zos (~(del by zos) ost)) - == - :: - ++ quod :: typecheck hive - |= vax=vase - vax :: XX - :: - ++ kick :: run engine - |- ^+ + - ?~ vey.sat +.$ - ?~ huv.sat +.$ - =^ lef vey.sat ~(get to vey.sat) - - ++ blam :: block on slam - |= [cod=@tas gat=vase sam=vase] - ^+ +> - - ++ dear :: reset - |= [dep=(set beam) vax=vase] - deep(huv.sat `vax) - - :: - ++ call :: advance a card - |= [vay=term pan=term fav=card] - ^+ +> - %= +> mow :_ mow - ^- move - :+ [~ %iron our] - ^- duct - [[vay ~] [/g (scot %p our) app pan ~] - fav - == - :: - ++ drip :: return a card - |= fav=card - ^+ +> - +>(mow :_(mow [[~ %iron our] hen fav])) - :: - ++ spec :: specialize kelp - |= vax=vase - ^- vase - ?. &(?=(^ q.vax) ?=(@ -.q.vax)) - vax - %+ slap vax - ^- twig - :+ %wtgr - [%wtts [%dtzz %tas -.q.vax] [%$ 2]] - [%$ 1] - :: - ++ more - |- ^+ + - ?> ?=(^ huv.sat) - ?~ vey.sat +.$ - =^ lef vey.sat ~(get to vey.sat) - :: - ++ axon :: advancing card - |= fav=card - ?~ huv.sat :: if blocked - (bait pax cav) - ?~ pax :: call, essentially - =+ ^= sam - ;: slop - !>(law) - == - =+ gat=(slap u.huv.sat [%cnzy %poke]) - !! - :: - :: - ++ bait :: boot/wait - |= [pax=path cav=vase] - ^+ +> - ?> ?=(~ huv.sat) - =+ new==(~ vey.sat) - =. vey.sat (~(put to vey.sat) `wren - ?: =(~ vey.sat) - :: - ++ boob :: - :: - ++ boot :: send boot - ^+ . - (dyke %boot %boil %core [(scot %p our) %main (scot %da now) %app ~]) - :: - ++ dyke :: send to compute - |= [pan=@tas kas=silk] - ^+ +> - %= +> mow :_ mow - ^- move - :+ [~ %iron our] - ^- duct - [/f [/g (scot %p our) app pan ~] - ^- card - [%exec kas] - == - :: - ++ feed - |= - - -- +|% :: functions +++ limp :: merge authorities + |= [a=(unit chop) b=(unit chop)] + ^- (unit chop) + a :: XX ? -- -. == -=| axle -=* lex - -|= [now=@da eny=@ ska=$+(* (unit (unit)))] :: activate -^? :: opaque core -|% :: -++ call :: inbound card - |= [hen=duct typ=type sin - !! -++ dive - |= [hen=duct loc=path - !! -++ beat :: process move - |= [pax=path hen=duct typ=type fav=card] - ^- [p=(list move) q=vane] - =+ ^= def - |. ^- seat +. == :: end preface +=| all=axle :: all vane state +|= $: now=@da :: urban time + eny=@ :: entropy + $= ski :: namespace + $+ $: (unit (set monk)) :: rights + path :: name + == (unit (unit (disk))) :: known/any/value + == :: opaque core +=< |% :: + ++ take :: return card + |= [pax=path hen=duct hil=(hypo curd)] :: + ^- [(list move) ..^$] + !! + ++ give :: request card + |= [hen=duct hil=(hypo kiss)] + =+ ^= ,[p=ship q=term] + ?- -.q.hil + %mess + %puke + == + ?- -.hil + ++ scry :: observe + |= $: use=(unit (set monk)) :: observers + bid=bead :: position + == :: + *view + -- +++ go + |_ $: our=@p :: application owner + app=@tas :: application name + mat=mast :: per owner + sat=seat :: per application + == :: + ++ abet :: collapse core + %_ +> + lex %_ lex + pol %+ ~(put by pol.lex) our + %_ mat + bum (~(put by bum.mat) app sat) + == == == + :: + ++ bear :: write backward + |= hen=duct + =+ orf=(need (~(get by q.zam) hen)) + ~(. bo:~(. au p.orf) hen q.orf) + :: + ++ beef :: read in + |= [lok=case use=(unit (set monk)) + ~(. au use) + :: + ++ boar :: write forward + |= $: hen=duct :: cause + law=(unit chop) :: read permission + == + =^ orf zam :: opaque duct + =+ orf=(~(get by q.zam) hen) + ?^ orf + [[p.u.orf (limp law q.u.orf)] zam] + :^ [[p.zam law] +(p.zam) + (~(put by q.zam) hen [p.zam aud]) + (~(put by r.zam) p.zam hen) + ~(. bo:~(. au ?~(law [~ ~] p.u.law)) hen p.orf ?~(law ~ q.u.law)) + :: + ++ au :: read + |_ use=(unit (set monk)) :: write + ++ lens + |= + ++ bo + |_ $: hen=duct :: system duct + ost=bone :: opaque duct + seg=(unit (set monk)) :: write permission + == + ++ abet +> :: collapse core + ++ mess :: + |= dur=(disk) :: general data + ^- [(list move) _+>] + !! :: + + ++ more :: process result + |= $: pax=path + hil=(hypo curd) + == + ^- [(list move) _+>] + ++ show :: + |= $: win=wind :: version window + pax=path :: subtree + == :: + ^- [(list move) +>] + !! + -- + ++ abet +> + -- + -- +:: +++ goad :: take and go + |= [our=@p app=@tas] + =+ mat=(need (~(get by pol.lex our))) + =+ sat=(need (~(get by bum.mat) app)) + ~.( go [our app mat sat]) +:: +++ goat :: call and go + |= [our=@p app=@tas] + =+ ^= mat ^- mast :: per owner + =+ mat=(~(get by pol.lex) p.fav) + ?~(mat *mast u.mat) + =+ ^= sat ^- seat :: per app + =+ sat=(~(get by bum.mat) q.fav) + ?^ sat u.sat %* . *seat eny (shax (mix now eny)) lat now == - =^ mos lex - ?: =(~ tea) - ?. ?=(%mean -.fav) ~|(%gall-what !!) - =+ ^= mat ^- mast - =+ mat=(~(get by pol.lex) p.fav) - ?~(mat *mast u.mat) - =+ ^= sat ^- seat - =+ sat=(~(get by bum.mat) q.fav) - ?~(sat *def u.sat) - =^ ost sat - ^- [bone seat] - =+ byn=(~(get by zam.sat) hen) - ?^ byn u.byn - [p.zam.sat sat(p.zam +(p.zam), q.zam (~(put by q.sam) hen p.zam.sat)] - =+ ^= tox - :* ost - now - eny - r.fav - *(list move) - p.fav - q.fav - sat - == - =^ mos sat abet:(~(axon za tox) fav) - :- mos - %= lex - pol (~(put by pol.lex) p.fav mat(bum (~(put by bum.mat) q.fav sat))) - == - ?> ?=([@ @ *] tea) - =+ [our=(need (slaw %p i.tea)) app=(need (slaw %tas i.t.tea))] - =+ mat=(need (~(get by pol.lex) our)) - =+ sat=(need (~(get by bum.mat) app)) - =+ ost=(need (~(get by q.zam.sat) hen)) - =+ law=p:(need (~(get by zos.sat) ost)) - =+ ^= tox - :* ost - now - eny - law - *(list move) - our - app - sat - == - =^ mos sat abet:(~(axon za tox) t.t.tea fav) - :- mos - lex(pol (~(put by pol.lex) p.fav mat(bum (~(put by bum.mat) q.fav sat)))) - == - [`(list move)`mos ..^$] -:: -++ come - |= [sam=? old=vase] - ^- vane - (load old) -:: -++ doze - |= [now=@da hen=duct] - ^- (unit ,@da) - ~ -:: -++ load - |= old=vase - ^- vane - ?. (~(nest ut -:!>(`axle`+>-.^$)) | p.old) - ~& %ford-reset - ..^$ - ..^$(+>- (axle q.old)) -:: -++ raze - ^- vane - ..$(+>- *axle) -:: -++ scry - |= [our=ship ren=@tas who=ship syd=desk lot=coin tyl=path] - ^- (unit (unit)) - ~ -:: -++ stay - `vase`!>((colt `axle`+>-.$)) -++ vern [164 0] + ~(. go [our app mat sat]) -- + == +. == :: end preface diff --git a/arvo/hoon.hoon b/arvo/hoon.hoon index ca3e14e0d..9a61284bc 100644 --- a/arvo/hoon.hoon +++ b/arvo/hoon.hoon @@ -8784,39 +8784,68 @@ :::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::: !: |% +++ arch ,[p=@uvI q=(unit ,@uvI) r=(map ,@ta ,~)] :: fundamental node +++ bead ,[[p=ship q=desk r=case] s=path] :: global name +++ case :: version + $% [%da p=@da] :: date + [%tas p=@tas] :: label + [%ud p=@ud] :: sequence + == :: +++ desk ,@tas :: ship desk case spur ++ chop :: permissions - $: say=(set monk) :: data authorizers - use=(set monk) :: data users + $: use=(unit (set monk)) :: data users + say=(set monk) :: data authors == :: ++ curd ,[p=@tas q=*] :: typeless card +++ disk |*(a=$+(* *) (pair gene (hypo a))) :: global/local typed ++ duct (list wire) :: causal history -++ helm :: privilege - $| ?(%gold %iron) :: root, user - $% [%lead p=ship] :: foreign +++ gene :: global schema + $& [p=gene q=gene] :: autocons + $% [%at p=@tas] :: atom + [%gl p=glob] :: global objective + [%fa p=@tas q=gene] :: named + [%li p=gene] :: list + [%no ~] :: untyped + [%ma p=gene q=gene] :: map + [%se p=gene] :: set + [%sy p=@tas q=gene r=gene] :: symbolic declare + [%un p=gene] :: unit + [%va p=@tas] :: symbolic reference == :: +++ glob ,[p=logo q=ship r=mark] :: global brand ++ herd (hypo curd) :: typed card ++ hilt ?(0 1 2) :: lead iron gold ++ hypo |*(a=$+(* *) (pair type a)) :: type associated ++ khan ,[p=@tas q=path] :: foreign identity +++ logo ,@tas :: content type +++ mark ,@uvH :: type by core hash ++ mill (each vase milt) :: vase/metavase ++ milt ,[p=* q=*] :: metavase ++ monk (each ship khan) :: general identity ++ mold :: general action |* [a=$+(* *) b=$+(* *)] :: new move - $% [%call p=term q=path r=a] :: advance + $% [%toss p=term q=path r=a] :: advance [%slip p=term q=a] :: send across [%sick p=b] :: lame refactoring [%give p=b] :: retreat == :: -++ muse ,[p=@tas q=duct r=(mold herd herd)] :: sourced move -++ mosh ,[p=duct q=(mold curd curd)] :: old move -++ move ,[p=duct q=(mold herd herd)] :: raw action +++ muse ,[p=@tas q=duct r=(mold mill mill)] :: sourced move +++ mosh ,[p=duct q=(mold curd curd)] :: vane move +++ move ,[p=duct q=(mold mill mill)] :: arvo move ++ ovum ,[p=wire q=curd] :: typeless ovum ++ pane (list ,[p=@tas q=vase]) :: kernel modules ++ pone (list ,[p=@tas q=vise]) :: kernel modules, old ++ ship ,@p :: network identity +++ view :: observation core + $_ ^? :: + |% ++ u *(unit (unit (unit ,@ud))) :: last change + ++ v *(unit (unit (disk))) :: historic subtree + ++ w *(unit (unit (unit ,[p=@ud q=(disk)]))) :: change and diff + ++ x *(unit (unit (disk))) :: actual data + ++ y *(unit (unit arch)) :: directory + ++ z *(unit (unit (disk))) :: current subtree + -- :: ++ wire path :: event pretext -++ writ ,[p=helm q=ship] :: authority :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: section 3bE, Arvo core :: :: @@ -8867,16 +8896,20 @@ ++ song :: reduce metacard |= mex=vase :: mex: vase of card ^- mill :: - ?. (sunk p.mex) !! :: a card is a cell + ?. (sunk p.mex) :: a card is a cell + ~& %song-a !! ?. ?=(%meta -.q.mex) [%& mex] :: ordinary card =+ tiv=(slot 3 mex) :: tiv: vase of vase - ?. (sunk p.tiv) !! :: a vase is a cell - ?. (souk -:!>(*type) p:(slot 2 tiv)) !! :: vase head is type + ?. (sunk p.tiv) :: a vase is a cell + ~& %song-b !! + ?. (souk -:!>(*type) p:(slot 2 tiv)) :: vase head is type + ~& %song-c !! :: =+ mut=(,[p=* q=*] q.tiv) :: card type, value :- %| :: metacard |- ^- [p=* q=*] :: ?. ?=([%meta p=* q=[p=* q=*]] q.mut) mut :: ordinary metacard - ?. (sike -:!>([%meta vase]) p.mut) !! :: meta-metacard + ?. (sike -:!>([%meta vase]) p.mut) :: meta-metacard + ~& %song-d !! :: $(mut q.mut) :: descend into meta :: ++ sump @@ -8886,20 +8919,21 @@ =+ caq=(spec (slot 3 wec)) ?+ q.caq ~&(%sump-bad !!) :: - [%call p=@tas q=* r=[p=@tas q=*]] - :^ %call (need ((sand %tas) ((hard ,@) p.q.caq))) + [%toss p=@tas q=* r=[p=@tas q=*]] + :^ %toss (need ((sand %tas) ((hard ,@) p.q.caq))) ((hard path) q.q.caq) - [%noun r.q.caq] - :: (song (slot 15 caq)) + (song (spec (slot 15 caq))) :: [%give p=[p=@tas q=*]] - [%give %noun p.q.caq] + [%give (song (spec (slot 3 caq)))] :: [%sick p=[p=@tas q=*]] - [%sick %noun p.q.caq] + [%sick (song (slot 3 caq))] :: [%slip p=@tas q=[p=@tas q=*]] - [%slip (need ((sand %tas) ((hard ,@) p.q.caq))) %noun q.q.caq] + :+ %slip + (need ((sand %tas) ((hard ,@) p.q.caq))) + (song (spec (slot 7 caq))) == :: ++ said @@ -8910,7 +8944,7 @@ [(sump (slot 2 vud)) $(vud (slot 3 vud))] :: ++ scry - |= $: our=ship + |= $: fur=(unit (set monk)) ren=@tas his=ship syd=@tas @@ -8931,13 +8965,13 @@ ++ swim |= $: pux=(unit wire) hen=duct - hud=herd + hil=mill == ^- [p=(list move) q=vase] =+ ^= pro ?~ pux - (slym (slap rig [%cnzy %call]) [hen hud]) - (slym (slap rig [%cnzy %beat]) [u.pux hen hud]) + (slym (slap rig [%cnzy %call]) [hen +.hil]) + (slym (slap rig [%cnzy %take]) [u.pux hen +.hil]) :- (said (slap pro [%cnzy %p])) (soar (slap pro [%cnzy %q])) -- @@ -8951,7 +8985,7 @@ |= [eny=@ bud=vase fan=(list ,[p=@tas q=vase])] |_ now=@da ++ beck - |= wru=(unit writ) + |= fur=(unit (set monk)) |+ hap=* ^- (unit (unit)) => .(hap ((hard path) hap)) @@ -8967,14 +9001,14 @@ ?. ?=([~ %$ %tas @] dyc) ~ ?. ?=(^ ved) ~ =+ his=`@p`q.p.u.fal - => .(wru ?^(wru wru [~ u=[p=[%lead his] q=his]])) :: XX dubious + => .(fur ?^(fur fur `[[%& his] ~ ~])) :: XX heinous =+ dis=(end 3 1 q.p.u.hyr) =+ rem=(rsh 3 1 q.p.u.hyr) |- ^- (unit (unit)) ?~ fan ~ ?. =(dis p.i.fan) $(fan t.fan) %- scry:(wink:(vent bud q.i.fan) now (shax now) ..^$) - [q.u.wru rem his q.p.u.dyc u.ved tyl] + [fur rem his q.p.u.dyc u.ved tyl] :: ++ dink :: vase by char |= din=@tas ^- vase @@ -8999,26 +9033,26 @@ |= ovo=ovum ^- [p=(list ovum) q=(list ,[p=@tas q=vase])] ?> ?=(^ p.ovo) - (kick [i.p.ovo ~ [%call (dint p.ovo) t.p.ovo [%noun q.ovo]]]~) + (kick [i.p.ovo ~ [%toss (dint p.ovo) t.p.ovo [%& %noun q.ovo]]]~) :: - ++ race :: beat - |= [pux=(unit wire) hen=duct hud=herd ves=vase] + ++ race :: take + |= [pux=(unit wire) hen=duct hil=mill ves=vase] ^- [p=(list move) q=vase] =+ ven=(vent bud ves) =+ win=(wink:ven now (shax now) (beck ~)) - (swim:win pux hen hud) + (swim:win pux hen hil) :: ++ fire :: execute - |= [lal=term pux=(unit wire) hen=duct hud=herd] + |= [lal=term pux=(unit wire) hen=duct hil=mill] ?: &(?=(^ pux) ?=(~ hen)) - [[[[lal u.pux] q.hud]~ ~] fan] + [[[[lal u.pux] (curd +>.hil)]~ ~] fan] =+ naf=fan |- ^- [[p=(list ovum) q=(list muse)] _fan] ?~ naf [[~ ~] ~] ?. =(lal p.i.naf) =+ tuh=$(naf t.naf) [-.tuh [i.naf +.tuh]] - =+ fiq=(race pux hen hud q.i.naf) + =+ fiq=(race pux hen hil q.i.naf) [[~ (turn p.fiq |=(a=move [lal a]))] [[p.i.naf q.fiq] t.naf]] :: ++ jack :: dispatch card @@ -9026,7 +9060,7 @@ ^- [[p=(list ovum) q=(list muse)] _fan] %- fire ?- -.r.gum - %call + %toss [p.r.gum ~ [[p.gum q.r.gum] q.gum] r.r.gum] :: %give diff --git a/arvo/zuse.hoon b/arvo/zuse.hoon index b6cb06a1d..f37e480f2 100644 --- a/arvo/zuse.hoon +++ b/arvo/zuse.hoon @@ -1873,7 +1873,6 @@ r=(map ,@ta ankh) :: folders == :: ++ apex ,[p=@uvI q=(map ,@ta ,@uvI) r=(map ,@ta ,~)] :: node report (old) -++ arch ,[p=@uvI q=(unit ,@uvI) r=(map ,@ta ,~)] :: node report (new) ++ ball ,@uw :: statement payload ++ bait ,[p=skin q=@ud r=dove] :: fmt nrecvd spec ++ bath :: convo per client @@ -2023,7 +2022,7 @@ [%loot p=@tas q=path] :: request directory [%make p=(unit ,@t) q=@ud r=@] :: wild license [%mean p=ship q=term r=chop s=vase] :: application event - [%meta p=ship q=vase] :: abstract app action + [%meta p=vase] :: meta-card [%meat p=ship q=card] :: concrete app action [%mine p=@ud q=@t] :: query matched line [%noop ~] :: no operation @@ -2118,7 +2117,6 @@ lab=(map ,@tas ,@ud) :: labels == :: ++ dojo ,[p=cult q=dome] :: domestic desk state -++ desk ,@tas :: ship desk case spur ++ door :: foreign contact $: wod=road :: connection to wyl=will :: inferred mirror @@ -2273,7 +2271,6 @@ ++ life ,@ud :: regime number ++ lint (list rock) :: fragment array ++ lode $|(@tas [p=lode q=lode]) :: constructed logos -++ logo ,@tas :: content type ++ love $% :: http response [%ham p=manx] :: html node [%mid p=mite q=octs] :: mime-typed data @@ -2521,16 +2518,11 @@ ++ tube ,[p=@ta q=@ta r=@ta s=path] :: canonical path ++ tutu ,* :: presumed type ++ vane $_ :: kernel actor - |+ [now=@da eny=@ ska=$+(* (unit (unit)))] :: activate + |+ $: now=@da :: + eny=@ :: + ska=$+(* (unit (unit))) :: activate + == :: ^? |% :: - ++ beat :: update - |= $: pax=wire :: pretext - hen=duct :: cause - typ=type :: event type - fav=card :: event - == :: - :- p=*(list move) :: actions - q=*vane :: consequence ++ call :: update |= $: hen=duct :: channel typ=type :: event type @@ -2549,7 +2541,7 @@ *vane :: ++ raze *vane :: erase all state ++ scry :: inspect - |= $: our=ship :: observer + |= $: fur=(unit (set monk)) :: observers ren=@tas :: submode his=ship :: target syd=@tas :: project @@ -2558,6 +2550,14 @@ == :: *(unit (unit)) :: record ++ stay *vase :: save state, new + ++ take :: update + |= $: pax=wire :: pretext + hen=duct :: cause + typ=type :: event type + fav=card :: event + == :: + :- p=*(list move) :: actions + q=*vane :: consequence ++ vern [_@ud _@ud] :: hoon/vane version -- :: ++ wund (list ,[p=life q=ring r=acru]) :: mace in action