From 43f7dcba1d88d2bf3e91b23169d62d01aad361da Mon Sep 17 00:00:00 2001 From: "C. Guy Yarvin" Date: Thu, 26 Jun 2014 05:18:30 -0700 Subject: [PATCH] %ames to %gall as /q/gm/[app]/[logo]. --- arvo/ames.hoon | 17 +++++++++++++++++ arvo/ford.hoon | 14 ++++++++++++++ arvo/gall.hoon | 20 ++++++++++++++++++-- arvo/zuse.hoon | 4 +++- 4 files changed, 52 insertions(+), 3 deletions(-) diff --git a/arvo/ames.hoon b/arvo/ames.hoon index cfede6e7f..20c21ff06 100644 --- a/arvo/ames.hoon +++ b/arvo/ames.hoon @@ -17,6 +17,7 @@ [%wart p=sock q=@tas r=path s=*] :: network request [%went p=ship q=cape] :: reaction message == :: +++ hasp ,[p=ship q=term] :: see %gall ++ kiss :: in request ->$ $% [%crud p=@tas q=(list tank)] :: error with trace [%cash p=@p q=buck] :: civil license @@ -37,6 +38,9 @@ $: %a :: to %ames $% [%kick p=@da] :: == == :: + $: %g :: to %gall + [%muss p=hasp q=ship r=logo s=*] :: + == $: @tas :: to any $% [%init p=@p] :: [%want p=sock q=path r=*] :: @@ -46,6 +50,9 @@ $? $: %a :: from %ames $% [%went p=ship q=cape] :: == == :: + $: %g :: from %gall + $% [%rasp p=(unit (pair logo noun))] :: + == == :: $: @tas :: $% [%crud p=@tas q=(list tank)] :: by any [%send p=lane q=@] :: transmit packet @@ -1608,6 +1615,14 @@ :~ :- (claw p.p.bon) [%sick %wart p.bon i.t.q.q.bon t.t.q.q.bon r.bon] == + :: + %gm :: general message + ?> ?=([@ @ *] t.t.q.q.bon) + =+ app=`term`(need ((sand %tas) i.t.t.q.q.bon)) + =+ for=`logo`(need ((sand %tas) i.t.t.t.q.q.bon)) + :_ fox + :~ [hen [%pass ~ %g %muss [p.p.bon app] q.p.bon for r.bon]] + == :: %pi :: ping $(bon [%wine p.bon " sent a ping at {(scow %da now)}"]) @@ -1670,6 +1685,8 @@ ^- [(list move) _+>] ?- +<.sih %crud [[[hen [%slip %d %flog +.sih]] ~] +>] + %rasp ~& %knap-rasp + [~ +>] %send [[hen %give +.sih]~ +>] %went [~ +>] == diff --git a/arvo/ford.hoon b/arvo/ford.hoon index ec282976d..4b05d9943 100644 --- a/arvo/ford.hoon +++ b/arvo/ford.hoon @@ -413,6 +413,14 @@ |= [cof=cafe pro=vase] (fine cof ~ pro) :: + ++ lave :: validate + |= [cof=cafe for=logo sax=sack som=*] + =+ lok=`case`[%da now] + =+ ^= own ^- ship + =+ von=(ska %cy (tope [[p.sax %main lok] /core/ref/[for]/sys])) + ?~(von q.sax p.sax) + ((lake for [own %main lok]) cof [%noun som]) + :: ++ lair :: metaload |= [for=logo bem=beam] |= [cof=cafe vax=vase] @@ -612,6 +620,12 @@ (fine cof %noun vax) :: %reef (fine cof %noun pit) + %vale + %+ cope (lave cof p.kas q.kas r.kas) + |= [cof=cafe vux=(unit vase)] + ?~ vux + (flaw cof [%leaf "invalid logos: {<[p.kas q.kas]>}"]~) + (fine cof `cage`[p.kas u.vux]) == :: ++ maim :: slap diff --git a/arvo/gall.hoon b/arvo/gall.hoon index fa603d0f5..9d7eb12ab 100644 --- a/arvo/gall.hoon +++ b/arvo/gall.hoon @@ -22,14 +22,16 @@ $% [%init p=ship] :: initialize owner [%show p=hasp q=ship r=path] :: subscribe :: [%cuff p=(unit cuff) q=kiss] :: controlled kiss - [%mess p=hasp q=ship r=cage] :: message + [%mess p=hasp q=ship r=cage] :: typed message + [%muss p=hasp q=ship r=logo s=*] :: untyped message [%nuke p=hasp] :: clear duct == :: ++ knob :: pending action $% [%boot ~] :: begin boot [%crud p=@tas q=(list tank)] :: error [%load p=cage] :: continue boot - [%mess p=ship q=cage] :: message + [%mess p=ship q=cage] :: typed message + [%muss p=ship q=logo r=*] :: untyped message [%show p=ship q=path] :: subscribe [%nuke ~] :: clear duct [%take p=path q=vase] :: user result @@ -159,6 +161,7 @@ ?- -.q.hic :: %cuff $(q.hic q.q.hic, law (limp p.q.hic law)) %mess [law p.q.hic %mess q.q.hic r.q.hic] + %muss [law p.q.hic %muss q.q.hic r.q.hic s.q.hic] %show [law p.q.hic %show q.q.hic r.q.hic] %nuke [law p.q.hic %nuke ~] == @@ -486,6 +489,15 @@ qic.sat ~ == ?+ i.t.pax !! + %muss + ?> ?=([@ ~] t.t.pax) + =+ you=(need (slaw %p i.t.t.pax)) + ?> ?=(%made -.+.q.hin) + ?- -.p.+.q.hin + | (give:(give %rasp ~) [%crud %vale p.p.+.q.hin]) + & (quen %mess you q.p.p.+.q.hin) + == + :: %park =^ gyd +>.$ (murk q.hin) ?~ gyd @@ -705,6 +717,10 @@ :: ~& [%mess-poke cog] %+ ford /s/poke [%call (harm cog (conf (core u.huv.sat))) (cove %$ sam)] + :: + %muss + %+ ford /s/muss/[(scot %p p.kon)] + [%vale q.kon [our p.kon] r.kon] :: %show ?: (warm %peer) diff --git a/arvo/zuse.hoon b/arvo/zuse.hoon index e9133a1e9..4d8310f9b 100644 --- a/arvo/zuse.hoon +++ b/arvo/zuse.hoon @@ -2369,6 +2369,7 @@ ++ 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 nori)] :: patch/merge +++ sack ,[p=ship q=ship] :: incoming [our his] ++ sufi :: domestic host $: hoy=(list ship) :: hierarchy val=wund :: private keys @@ -2414,6 +2415,7 @@ [%mute p=silk q=(list (pair wing silk))] :: mutant [%pass p=silk q=sill] :: twig construction [%reef ~] :: kernel reef + [%vale p=logo q=sack r=*] :: validate [our his] == :: ++ sill :: code construction $% [%0 p=@] :: direct text @@ -2435,7 +2437,7 @@ pac=rock :: packet data == :: ++ soba ,[p=cart q=(list tako)] :: delta -++ sock ,[p=ship q=ship] :: from to +++ sock ,[p=ship q=ship] :: outgoing [from to] ++ spur path :: ship desk case spur ++ step ,[p=bray q=gens r=pass] :: identity stage ++ tako ,[p=path q=miso] :: change detail