From d19088e443f3bda313752e6c05aff55d3f1529b2 Mon Sep 17 00:00:00 2001 From: Anton Dyudin Date: Tue, 16 Dec 2014 14:01:13 -0800 Subject: [PATCH 01/14] Added :poke, ++pock and ++pock-* typed poke interfaces --- arvo/gall.hoon | 22 +++++++++++++++++----- main/app/bang/core.hook | 14 +++++++++++--- main/app/poke/core.hook | 14 ++++++++++++++ main/app/shell/core.hook | 3 +++ 4 files changed, 45 insertions(+), 8 deletions(-) create mode 100644 main/app/poke/core.hook diff --git a/arvo/gall.hoon b/arvo/gall.hoon index bbcbb2b78a..db0b7c3126 100644 --- a/arvo/gall.hoon +++ b/arvo/gall.hoon @@ -1151,15 +1151,27 @@ (yawl [%pull ~] leaf/"pulling" u.huv.sat [[%atom %ud] ost]) :: %mess - =+ ^= cog ^- term - ?: =(%$ p.q.kon) %poke + =+ ^- [hyp=? cog=term] + =- ?^(- - ?:((warm %pock) [& %pock] [| %poke])) + ?: =(%$ p.q.kon) + ~ + =+ guc=(cat 3 'pock-' p.q.kon) + ?: (warm guc) + [& guc] =+ goc=(cat 3 'poke-' p.q.kon) - ?:((warm goc) goc %poke) + ?: (warm goc) + [| goc] + ~ ?. (warm cog) (give(qic.sat ~) %mean ~ %poke-find-fail ~) ?> ?=(^ huv.sat) - =+ sam=:(slop [[%atom %ud] ost] [[%atom %p] p.kon] q.q.kon) - =+ err=?.(=(%poke cog) "%poke with mark ") + =+ ^= sam + ;: slop + [[%atom %ud] ost] + [[%atom %p] p.kon] + ?.(hyp q.q.kon (slop !>(p.q.q.kon) q.q.kon)) + == + =+ err=?.(?=(?(%poke %pock) cog) "{} with mark ") :: ~& [%mess-poke cog] %+ ford /s/poke :+ %dude leaf/"poking {err}" diff --git a/main/app/bang/core.hook b/main/app/bang/core.hook index 41d90cb59c..0acd6827a5 100644 --- a/main/app/bang/core.hook +++ b/main/app/bang/core.hook @@ -1,5 +1,13 @@ +!: |_ [hide ~] +++ lima |*(a=(pole) ?~(a ~ [i t]=a(+ (..$ +.a)))) ++ poke-bang-args - |* [ost=bone @ a=^ ~] - :_(+> [ost %pass / a]~) --- \ No newline at end of file + |* [ost=bone @ a=[* (pole)]] + => .(a ^.(lima a)) + :_(+> (turn a |*(b=_i.a [ost %pass / b]))) +:: +++ pour + |= [ost=bone * sih=*] + ~& bang-resp/;;(,[term term] [&1 &2]:sih) + :_(+> [ost %pass / %g %cide %$]~) +-- diff --git a/main/app/poke/core.hook b/main/app/poke/core.hook new file mode 100644 index 0000000000..22f5774ed9 --- /dev/null +++ b/main/app/poke/core.hook @@ -0,0 +1,14 @@ +!: +|_ [hide ~] +++ mess ,[p=path q=[@ *] ~] +++ pock-poke-args + |= [ost=bone @ a=type b=?(mess [her=ship mess])] + =- :_(+>.$ [ost %pass / %g %mess -]~) + ?^ |2.b [[her p]:b our -.q.b (slot 29 [a b])] :: +.&3 + [[our p.b] our -.q.b (slot 13 [a b])] :: +.&2 +:: +++ pour + |= [ost=bone * sih=*] + ~& poke-resp/;;(,[term term] [&1 &2]:sih) + :_(+> [ost %pass / %g %cide %$]~) +-- diff --git a/main/app/shell/core.hook b/main/app/shell/core.hook index 5853578242..04ec397724 100644 --- a/main/app/shell/core.hook +++ b/main/app/shell/core.hook @@ -66,6 +66,7 @@ $% $: %g :: $% [%gone p=hapt] :: [%init p=@p] :: + [%dumb ~] :: [%mean p=ares] :: [%nice ~] :: [%rush p=mark q=*] :: @@ -473,6 +474,8 @@ ^- [(list move) _+>] ?: ?=(%init +<.sih) :: vomit [[ost %give +.sih]~ +>.$] + ?: ?=(%dumb +<.sih) :: sleep + [~ +>.$] ?: ?=(%sage +<.sih) :: vomit [[ost %give +.sih]~ +>.$] ?: ?=(%verb +<.sih) :: vomit From 61eb8ab6b4b5c4695cbff5575850a9fb199cdf31 Mon Sep 17 00:00:00 2001 From: Anton Dyudin Date: Tue, 16 Dec 2014 15:26:46 -0800 Subject: [PATCH 02/14] Working subscribe --- main/app/rodeo/core.hook | 50 +++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/main/app/rodeo/core.hook b/main/app/rodeo/core.hook index ae524bb2a1..8be48b1053 100644 --- a/main/app/rodeo/core.hook +++ b/main/app/rodeo/core.hook @@ -17,6 +17,7 @@ $: parties=(map span party) :: conversations general=(set bone) :: meta-subscribe outbox=(pair ,@ud (map ,@ud thought)) :: urbit outbox + sent=(map tid:twit serial) :: own tweets == :: ++ party :: a conversation $: count=@ud :: (lent grams) @@ -60,7 +61,7 @@ [%show p=hapt q=ship r=path] :: subscribe == == == :: ++ twim :: twitter endpoints - ?(%mine %stat) + $%([%mine p=span] [%stat p=@uv]) -- |_ [hid=hide house] ++ ti @@ -171,22 +172,26 @@ ?. &(=(2 (div p.p.sih 100)) ?=(^ r.p.sih)) ~& [%twit-lost met [p `(unit ,[@ @t])`r]:[p.sih .]] +> - ?- met + ?- -.met %stat - ~& [%tweet-ack p.p.sih] + =+ sta=(need %.(q.u.r.p.sih ;~(biff poja stat:twir))) + ~& [%tweet-ack p.met sta] + =. sent (~(put by sent) id:sta p.met) +>.$ %mine - =+ ^- toz=(list thought) - %+ turn (need %.(q.u.r.p.sih ;~(biff poja line:ti))) - |= [id=@u who=@ta now=@da txt=@t] - ^- thought - :* (shaf %twit id) - [[(sta:ti who) %received] `~] - now - [%say txt] - == - ~& timemine-found/toz - (ra-think | our.hid toz) + =+ pur=(~(get by parties) p.met) :: XX all subscribed + ?~ pur ~& [%ra-twitter-none p.met] !! + =< pa-abet + %- ~(pa-lesson pa p.met u.pur) + %+ turn (need %.(q.u.r.p.sih ;~(biff poja line:ti))) + |= [id=tid:twit who=scr:twit now=@da txt=@t] + ^- telegram + :* our.hid + ((bond |.((shaf %twit id))) (~(get by sent) id)) + [[(sta me):ti %pending] `~] + now + [%say txt] + == == :: ++ ra-repeat :: %repeat response @@ -283,9 +288,10 @@ %say "{}: {(trip p.q.r.tip)}" %own "{} {(trip p.q.r.tip)}" == - ?< (gth (lent msg) 140) + ?: (gth (lent msg) 140) + (ra-evil %radio-tweet-long) %+ ra-hiss - /twitter/stat + /twitter/stat/(scot %uv p.tip) (post:ti (crip msg)) == == :: @@ -413,7 +419,7 @@ =+ num=(fall (~(get by sequence) tay) 0) ?- -.tay %| ~& tweet-asked/p.p.tay - :- /twitter/mine/[p.p.tay] + :- /twitter/mine/[p.p.tay]/[man] ?> =(me:ti p.p.tay) [%e %them ~ mine:ti] %& ~& [%pa-acquire [our.hid man] [p.p.tay q.p.tay]] @@ -571,8 +577,14 @@ =+ sih=((hard sign) sih) ?+ pax ~& [%rodeo-strange-path pax] !! [%twitter *] - ?> ?=([twim *] t.pax) - ra-abet:(~(ra-twitter ra ost ~) i.t.pax sih) + =- ra-abet:(~(ra-twitter ra ost ~) met sih) + ^= met + ?+ t.pax ~& [%rodeo-twitter-strange-path pax] !! + [%mine @ @ ~] + [i.t.pax i.t.t.t.pax] + [%stat @ ~] + [i.t.pax (slav %uv i.t.t.pax)] + == [%friend *] ?> ?=([@ @ ~] t.pax) ?. =(%show i.t.pax) From 331b2d5a52e78e9d7063a1949d50365d9ff90583 Mon Sep 17 00:00:00 2001 From: Philip C Monk Date: Tue, 16 Dec 2014 18:29:07 -0500 Subject: [PATCH 03/14] typing bit in dill --- arvo/dill.hoon | 121 +++++++++++++++++------------------- main/app/shell/core.hook | 25 +++++++- main/app/terminal/core.hook | 13 ++-- main/sur/term-in/gate.hook | 8 ++- 4 files changed, 94 insertions(+), 73 deletions(-) diff --git a/arvo/dill.hoon b/arvo/dill.hoon index cb6c351af2..686f8d6dbe 100644 --- a/arvo/dill.hoon +++ b/arvo/dill.hoon @@ -43,16 +43,6 @@ $: %c :: $% [%warp p=sock q=riff] :: == == :: - ::S $% $: %b :: to %batz - ::S $% [%hail ~] :: - ::S [%harm ~] :: - ::S [%hook ~] :: - ::S [%kill p=~] :: - ::S [%line p=@t] :: - ::S [%ling ~] :: - ::S [%make p=(unit ,@t) q=@ud r=@ s=?] :: - ::S [%sith p=@p q=@uw r=?] :: - ::S == == :: $: %d :: $% [%crud p=@tas q=(list tank)] :: [%text p=tape] :: @@ -68,20 +58,6 @@ ++ riff ,[p=desk q=(unit rave)] :: see %clay ++ sign :: in result $<- $? - ::S $: %b :: by %batz - ::S $% [%hail ~] :: - ::S [%helo p=path q=prod] :: - ::S [%logo p=@] :: - ::S [%save p=path q=@] :: - ::S [%sage p=path q=*] :: - ::S [%talk p=tank] :: - ::S [%tell p=(list ,@t)] :: - ::S [%text p=tape] :: - ::S [%verb ~] :: - ::S [%veer p=@ta q=path r=@t] :: - ::S [%vega p=path] :: - ::S [%warn p=tape] :: - ::S == == :: $: %c :: $% [%writ p=riot] :: == == :: @@ -104,6 +80,9 @@ [%veer p=@ta q=path r=@t] :: [%vega p=path] :: == == :: + $: %t :: + $% [%wake ~] :: + == == $: @tas :: by any $% [%crud p=@tas q=(list tank)] :: [%init p=@p] :: @@ -115,6 +94,7 @@ $% [%line p=span] :: [%res p=span] :: [%cmd p=char] :: + [%type p=?] :: == == :: ++ term-line ,[p=[p=cord q=prom r=cord] q=(list cord) r=(list tark)] ++ tark ?(tank [%stem p=tank q=tank]) :: @@ -171,6 +151,13 @@ %right :: == :: ++ yard :: terminal state + $: p=? :: verbose + q=blur :: display state + r=(map path hist) :: history + s=[p=? q=@da] :: typing?/last typed + == :: + :: XX LEGACY 12-16-2014 +++ yord :: old terminal state $: p=? :: verbose q=blur :: display state r=(map path hist) :: history @@ -178,12 +165,12 @@ -- => |% ++ dy - |= [hen=duct our=ship def=(unit duct) dug=(map duct yard)] + |= [hen=duct our=ship now=@da def=(unit duct) dug=(map duct yard)] =+ ^= yar ^- yard =+ yur=(~(get by dug) hen) ?^ yur u.yur ?^ def (~(got by dug) u.def) - [& [80 ~ *blot] ~] + [& [80 ~ *blot] ~ | *@da] =| mos=(list move) |% ++ beep (curb [[%bel ~] ~]) :: send beep @@ -331,36 +318,6 @@ ?~ q.+.sih +>.^$ (fume:$(q.+.sih t.q.+.sih) '!' `tank`i.q.+.sih) :: - ::S %helo :: trigger prompt - ::S %- edit - ::S =| bed=bein - ::S =+ ^= hyt ^- hist - ::S =+ hyt=(~(get by r.yar) p.+.sih) - ::S ?~(hyt *hist u.hyt) - ::S ?: &(?=(^ q.q.yar) =(p.+.sih hux.u.q.q.yar)) - ::S %= u.q.q.yar - ::S hyt [+(p.hyt) [%$ q.hyt]] - ::S pot q.q.+.sih - ::S pol (lent q.q.+.sih) - ::S buy p.q.+.sih - ::S == - ::S =+ zon=(tuba r.q.+.sih) - ::S =+ zow=(lent zon) - ::S %= bed - ::S bul zow - ::S bus zow - ::S but zon - ::S buy p.q.+.sih - ::S hux p.+.sih - ::S hiz 0 - ::S hyt [+(p.hyt) [%$ q.hyt]] - ::S pot q.q.+.sih - ::S pol (lent q.q.+.sih) - ::S == - ::S :: - ::S ?(%hail %make %sith) - ::S +>.$(mos :_(mos [hen %pass ~ %b +.sih])) - ::S :: %mean ~& %dill-mean +>.$ %nice +>.$ %note ?.(p.yar +>.$ (fume p.+.sih q.+.sih)) :: debug message @@ -408,11 +365,23 @@ ?(%init %logo %veer %vega %verb) :: drop-throughs +>(mos :_(mos [hen %give +.sih])) %writ :: file exists - %= +>.$ + %_ +>.$ mos :_ mos [hen %pass /term-show %g %show [our /terminal] our /lines] == + :: + %wake + ?: (lte q.s.yar (sub now ~s15)) + %_ +>.$ + mos + :_ mos + [hen %pass /activity %t %wait (add q.s.yar ~s15)] + == + %_ +>.$ + p.s.yar | + mos :_(mos (poke %term-in -:!>(*term-in) / %type %|)) + == == :: ++ lear :: handle request @@ -422,6 +391,16 @@ %flog !! %noop +> %belt :: terminal input + =. +>.$ + ?. ?=(?(%bac %del %txt) -.p.kyz) +>.$ + ?: p.s.yar +>.$(s.yar [& now]) + %_ +>.$ + s.yar [& now] + mos + :_ :_ mos + [hen %pass /activity %t %wait (add ?:(p.s.yar q.s.yar now) ~s15)] + (poke %term-in -:!>(*term-in) / %type %&) + == ?~ q.q.yar %^ furl "Downloading files from ticketing ship, please wait until" @@ -666,7 +645,7 @@ (fume:$(q.kyz t.q.kyz) '!' `tank`i.q.kyz) :: %hail :: refresh - +>.$ + +>.$(mos :_(mos (poke %term-ctrl -:!>(%hail) %hail))) :: %harm :: all terms hung up =+ nug=((map duct yard) [[hen (~(get by dug) hen)] ~ ~]) @@ -707,7 +686,7 @@ (~(put by dug) hen yar) -- -- -=| $: %0 :: +=| $: %1 :: our=ship :: def=(unit duct) :: dug=(map duct yard) :: @@ -733,7 +712,7 @@ :_ ..^$ %+ turn (~(tap by dug) *(list ,[p=duct q=yard])) |=([a=duct b=yard] [a %slip %d p.q.hic]) - =+ res=yerk:(lear:(dy hen our def dug) q.hic) + =+ res=yerk:(lear:(dy hen our now def dug) q.hic) [-.res ..^$(our +<.res, dug +>+.res, def +>-.res)] :: ++ doze @@ -741,20 +720,32 @@ ^- (unit ,@da) ~ :: -++ load - |= old=[%0 our=ship def=(unit duct) dug=(map duct yard)] +++ load :: XX LEGACY 12-16-2014 + |= $= old + $% [%0 our=ship def=(unit duct) dug=(map duct yord)] + [%1 our=ship def=(unit duct) dug=(map duct yard)] + == ^+ ..^$ - ..^$(our our.old, def def.old, dug dug.old) + ?- -.old + %1 %_(..^$ our our.old, def def.old, dug dug.old) + %0 %= $ + old + %= old + - %1 + dug (~(run by dug.old) |=(yor=yord [p q r | *@da]:yor)) + == + == + == :: ++ scry |= [fur=(unit (set monk)) ren=@tas his=ship syd=desk lot=coin tyl=path] ^- (unit (unit (pair mark ,*))) [~ ~ [%tank >dug<]] :: -++ stay [%0 our def dug] +++ stay [%1 our def dug] ++ take :: process move |= [tea=wire hen=duct hin=(hypo sign)] ^- [p=(list move) q=_..^$] - =+ res=yerk:(leap:(dy hen our def dug) tea q.hin) + =+ res=yerk:(leap:(dy hen our now def dug) tea q.hin) [-.res ..^$(our +<.res, dug +>+.res, def +>-.res)] -- diff --git a/main/app/shell/core.hook b/main/app/shell/core.hook index 04ec397724..d758ec1a5f 100644 --- a/main/app/shell/core.hook +++ b/main/app/shell/core.hook @@ -33,8 +33,9 @@ ++ gilt :: $% [%term-line p=term-line] :: [%txt p=cord] :: + [%type p=?] :: == :: -++ glas $|(%out [%in p=cord]) :: +++ glas ?(%out [%in p=cord] [%active p=cord]) :: ++ hapt ,[p=ship q=path] :: ++ move ,[p=bone q=(mold note gift)] :: ++ note :: @@ -331,6 +332,8 @@ %_ +>.$ mow :_(mow [ost %give %rush %term-line prompt ~ ~]) == + ?: ?=(%active -.gal) + (blab [ost %give %rush %type %|] ~) ?. (~(has by cub.hid) p.gal) +>.$ ?: (~(has by pop) p.gal) +>.$ =. act `p.gal @@ -375,6 +378,15 @@ =. +>.$ (blab (stash txt)) +>.$(mow :_(mow [ost %give %nice ~])) :: + ++ poke-type + |= [you=ship tiv=?] + ^+ +> + ?^ act + %+ blab + [ost %give %nice ~] + (spam /active/[u.act] %rush %type tiv) + (blab [ost %give %nice ~] ~) + :: ++ print |=(a=tank (print-vase !>(`(list tank)`[a ~]))) ++ print-vase |= tan=vase :: [p=p:!>(*(list tank)) q=*] @@ -450,10 +462,11 @@ |= [ost=bone you=ship pax=path] ^- [(list move) _+>] ?~ pax `+>.$ - ?. ?=(?(%in %out) i.pax) `+>.$ + ?. ?=(?(%in %out %active) i.pax) `+>.$ =+ ^= gal ?: ?=(%out i.pax) %out - [%in ?<(?=(~ t.pax) i.t.pax)] + ?: ?=(%in i.pax) [%in ?<(?=(~ t.pax) i.t.pax)] + [%active ?<(?=(~ t.pax) i.t.pax)] =+ abet:(peer:(ve hid ost vat) you gal) [-< +>.$(vat ->)] :: @@ -469,6 +482,12 @@ =+ abet:(poke-txt:(ve hid ost vat) you txt) [-< +>.$(vat ->)] :: +++ poke-type :: handle command + |= [ost=bone you=ship tiv=?] + ^- [(list move) _+>] + =+ abet:(poke-type:(ve hid ost vat) you tiv) + [-< +>.$(vat ->)] +:: ++ purr |= [ost=bone pax=path typ=type sih=sign] ^- [(list move) _+>] diff --git a/main/app/terminal/core.hook b/main/app/terminal/core.hook index c06707b946..61558deddd 100644 --- a/main/app/terminal/core.hook +++ b/main/app/terminal/core.hook @@ -33,6 +33,7 @@ ++ mess :: $% [%txt p=(hypo cord)] :: [%kyev p=(hypo kyev)] :: + [%type p=(hypo ,?)] :: == :: ++ move ,[p=bone q=(mold note gift)] :: ++ note :: @@ -127,7 +128,7 @@ == :: ++ poke - |= jof=$%([%line p=span] [%res p=span] [%cmd p=char]) + |= jof=$%([%line p=span] [%res p=span] [%cmd p=char] [%type p=?]) ^+ +> ?- -.jof %res :: restart shell @@ -159,13 +160,17 @@ (send %kyev -:!>(*kyev) [[%ctrl ~ ~] p.jof]) %r $(jof [%res 'shell']) == + :: + %type + ~& > %inputz + (send %type -:!>(*?) p.jof) == :: ++ poke-ctrl .(mow :_(mow [ost %give %rush %term-line [p q ~]:tel])) :: ++ pour - |= [dis=?(%fork %resp %txt %kyev) sih=sign] + |= [dis=?(%fork %resp %txt %kyev %type) sih=sign] ^+ +> ?- dis %fork ?>(?=(%gone +<.sih) +>.$) :: XX maybe mean? @@ -180,7 +185,7 @@ == == :: - ?(%txt %kyev) + ?(%txt %kyev %type) ?+ +<.sih !! %nice +>.$(mow :_(mow [ost %give +.sih])) %mean @@ -256,7 +261,7 @@ ?: ?=(?(%sage %init %logo %verb %veer %vega) &2.sih) :: vomit [[ost %give +.sih]~ +>.$] ?~ pax !! - ?. ?=(?(%fork %resp %txt %kyev) i.pax) !! + ?. ?=(?(%fork %resp %txt %kyev %type) i.pax) !! =+ abet:(pour:(se hid ost our.hid hiz t.pax) i.pax sih) [-< +>.$(hiz ->)] :: diff --git a/main/sur/term-in/gate.hook b/main/sur/term-in/gate.hook index 32b45d781a..c0e0654e9d 100644 --- a/main/sur/term-in/gate.hook +++ b/main/sur/term-in/gate.hook @@ -1 +1,7 @@ -,[pax=path jof=$%([%line p=span] [%res p=span] [%cmd p=char])] +$: pax=path :: +$= jof :: +$% [%line p=span] :: + [%res p=span] :: + [%cmd p=char] :: + [%type p=?] :: +== == :: From a7ff16b0b97878d9df3fb3e0a615c31ac59da577 Mon Sep 17 00:00:00 2001 From: "C. Guy Yarvin" Date: Tue, 16 Dec 2014 15:46:12 -0800 Subject: [PATCH 04/14] Intermediate commit. --- arvo/jael.hoon | 72 +++++++++++++++++++++++++++++---- main/app/rodeo/core.hook | 17 ++++++-- main/app/talk/core.hook | 4 ++ main/mar/radio-report/door.hook | 2 +- main/sur/radio/core.hook | 2 +- 5 files changed, 83 insertions(+), 14 deletions(-) diff --git a/arvo/jael.hoon b/arvo/jael.hoon index 9411a0888b..622038b259 100644 --- a/arvo/jael.hoon +++ b/arvo/jael.hoon @@ -7,7 +7,7 @@ :: %jael is logically homogeneous, but please follow these conventions: :: :: /cap :: foreign app keys -:: /service :: service name, eg %face +:: /service :: service name, eg %face for FB :: /appid :: your ship's app-id :: /@uvH :: by hash :: /@ud :: by number @@ -25,7 +25,7 @@ :: structures |% ++ axle :: %jael state - $: %0 :: + $: %0 :: %jael version ent=@ :: entropy sef=safe :: secret tree red=(map duct (set path)) :: reverse subscribers @@ -36,22 +36,69 @@ == :: ++ kiss :: in request ->$ $% [%kill p=path] :: discard secret - [%make p=@uw q=(unit ,@da) r=@ud s=path] :: create secret + [%make p=@uw q=(unit ,@da) r=@ud s=path] :: generate random [%nuke ~] :: erase subscriber - [%prim p=@uw q=(unit ,@da) r=perm s=path] :: forge prime [%tell p=@uw q=(unit ,@da) r=path] :: save secret == :: -++ move ,[p=duct q=[%give p=gift]] :: local move +++ move ,[p=duct q=(mold note gift)] :: typed move +++ note :: out request $-> + $% $: %t :: to %time + $% [%wait p=@da] :: + [%rest p=@da] :: + == == == :: ++ perm (pair ,@ud (list ,@ud)) :: prime definition ++ safe :: - $: nub=@uw :: secret + $: nub=(unit ,@uw) :: secret dex=(unit ,@da) :: expiration sud=(set duct) :: subscribers + kin=(map term safe) :: children == :: -- :: +:: programs +|% +++ bu + |_ $: xap=path + fes=(list safe) + moz=(list move) + == + axle + :: + ++ bu-abet :: resolve + ^- axle + ?~ xap +<+ + %= bu-abet + xap t.xap + fes t.fes + sef %= i.fes + kin + ?: =(*safe sef) + (~(del by kin.i.fes) i.xap) + (~(put by kin.i.fes) i.xap sef) + == + == + :: + ++ bu-kill :: destroy + ^+ . + =+ dus=(~(tap by + + :: + ++ bu-ajar :: descend + |= pax=path + ^+ +> + ?~ pax +>.$ + %= $ + pax t.pax + xap [i.pax xap] + fes [sef fes] + sef (fall (~(get by kin.sef) i.pax) *safe) + == + -- +++ bury + |= [pax=path lex=axle] + (~(bu-ajar bu [~ ~ ~] tof.lex lex) pax) +-- . == =| axle -=* lex - |= [now=@da eny=@ ski=sled] :: activate ^? :: opaque core |% :: @@ -59,7 +106,16 @@ |= [hen=duct hic=(hypo (hobo kiss))] ^- [p=(list move) q=_..^$] => .(q.hic ?.(?=(%soft -.q.hic) q.hic ((hard kiss) p.q.hic))) - !! + =^ moz +>+>- + =< bu-abet + ?- -.p.q.hic + %kill + kill:(bury p.p.q.hic +>+>-) + :: + %make + %nuke + %tell + == :: ++ doze |= [now=@da hen=duct] diff --git a/main/app/rodeo/core.hook b/main/app/rodeo/core.hook index c37510467f..8991530e8c 100644 --- a/main/app/rodeo/core.hook +++ b/main/app/rodeo/core.hook @@ -21,7 +21,8 @@ ++ party :: a conversation $: count=@ud :: (lent grams) grams=(list telegram) :: all history - present=(map ship status) :: presence state + locals=(map ship (pair ,@da presence)) :: local presence + remotes=(map station (map ship status)) :: remote presence sequence=(map station ,@ud) :: stations heard shape=config :: configuration known=(map serial ,@ud) :: messages heard @@ -333,7 +334,6 @@ =. +> $(vew r.vew) (pa-sauce n.vew [[%rust %radio-report %group present] ~]) :: - :: ++ pa-monitor :: update config =+ owe=owners |- ^+ +> @@ -388,16 +388,22 @@ ++ pa-acquire :: subscribe to |= tal=(list station) %+ pa-scrub 0 + %- zing %+ turn tal |= tay=station + ^- (list (pair path note)) =+ num=(fall (~(get by sequence) tay) 0) ?- -.tay %| ~& tweet-asked/p.p.tay + :_ ~ :- /twitter/[p.p.tay] [%e %them ~ (stalk:ti p.p.tay)] %& ~& [%pa-acquire [our.hid man] [p.p.tay q.p.tay]] - :- /friend/show/[man] - [%g %show [p.p.tay /rodeo] our.hid /fm/[q.p.tay]/(scot %ud num)] + :~ :- /friend/show/[man] + [%g %show [p.p.tay /rodeo] our.hid /fm/[q.p.tay]/(scot %ud num)] + :- /friend/view/[man] + [%g %show [p.p.tay /rodeo] our.hid /am/[q.p.tay]] + == == :: ++ pa-reform :: reconfigure, ugly @@ -418,9 +424,12 @@ =. guests (~(del in guests) ost) (pa-sauce ost [[%mean ~] ~]) :: + ++ pa- + :: ++ pa-notify :: new presence |= [her=ship per=presence] ^+ +> + =. locals pa-display(present (~(put by present) her [per lat.hid *human])) :: ++ pa-start :: start stream diff --git a/main/app/talk/core.hook b/main/app/talk/core.hook index f6eefce517..ae6c3abcc9 100644 --- a/main/app/talk/core.hook +++ b/main/app/talk/core.hook @@ -88,6 +88,10 @@ (stag %def mess) == |% + ++ posh + |* [a=_rule b=_rule] + ;~(pose (stag %& a) (stag %| b)) + :: ++ peach :: either ++each branch |* a=_[rule rule] |= tub=nail diff --git a/main/mar/radio-report/door.hook b/main/mar/radio-report/door.hook index a091f77ada..ea08ebac97 100644 --- a/main/mar/radio-report/door.hook +++ b/main/mar/radio-report/door.hook @@ -67,7 +67,7 @@ %inv (jobe ship/(jope p.a) party/[%s q.a] ~) == :: - ++ stas |=(status (jobe presence/(joce p) time/(jode q) human/(huma r) ~)) + ++ stas |=(status (jobe presence/(joce p) human/(huma q) ~)) ++ huma |= human %^ jobe diff --git a/main/sur/radio/core.hook b/main/sur/radio/core.hook index db641594ee..1512bc7e68 100644 --- a/main/sur/radio/core.hook +++ b/main/sur/radio/core.hook @@ -31,7 +31,7 @@ == :: ++ serial ,@uvH :: unique identity ++ station (each cousin partner) :: interlocutor -++ status (trel presence ,@da human) :: participant +++ status (pair presence human) :: participant ++ speech :: party action $% [%own p=@t] :: @ or /me [%exp p=@t q=(unit tank)] :: program output From 5b2b62bd438f8dbb96e67ecb3f011cbe7b2f1b50 Mon Sep 17 00:00:00 2001 From: Philip C Monk Date: Tue, 16 Dec 2014 18:46:30 -0500 Subject: [PATCH 05/14] improve typing indicator --- main/app/shell/core.hook | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/main/app/shell/core.hook b/main/app/shell/core.hook index d758ec1a5f..aa07a06888 100644 --- a/main/app/shell/core.hook +++ b/main/app/shell/core.hook @@ -10,7 +10,8 @@ :: |% :: ++ axle :: - $: pid=@u :: next process id + $: tiv=? :: typing? + pid=@u :: next process id pax=_`path`/=try= :: working directory act=(unit span) :: active child pip=(map span span) :: pipe out->in @@ -318,12 +319,20 @@ == :: ++ next-act :: rotate active task - =+ opt=[i=`(unit span)`~ t=(turn cubs |=(a=span `(unit span)`[~ a]))] - |- - ?~ t.opt ~ - ?: =(act i.opt) - i.t.opt - $(opt t.opt) + =+ ^- nex=(unit span) + =+ opt=[i=`(unit span)`~ t=(turn cubs |=(a=span `(unit span)`[~ a]))] + |- + ?~ t.opt ~ + ?: =(act i.opt) + i.t.opt + $(opt t.opt) + ?. tiv +(act nex) + %- blab(act nex) + %+ weld + ?~ nex ~ + (spam /active/[u.nex] %rush %type %&) + ?~ act ~ + (spam /active/[u.act] %rush %type %|) :: ++ peer |= [you=ship gal=glas] @@ -354,12 +363,12 @@ [ost %give %nice ~] [ost %give %logo ~] ~ - (eat-end(act next-act) %& (slav %ud u.act)) + (eat-end:next-act %& (slav %ud u.act)) %g =+ =- tak=rose/[" " "[" "]"]^(turn cubs -) |= a=span leaf/(trip (rap 3 (~(got by cub.hid) a) '(' a ')' ~)) (blab [ost give/nice/~] (print tak)) - %x =. act next-act + %x =. +>.$ next-act (blab [ost %give %nice ~] ping) == :: @@ -381,6 +390,7 @@ ++ poke-type |= [you=ship tiv=?] ^+ +> + =. tiv tiv ?^ act %+ blab [ost %give %nice ~] From 8b386c57119d9ac2e10ed6156313fa592b47850a Mon Sep 17 00:00:00 2001 From: Anton Dyudin Date: Tue, 16 Dec 2014 16:03:08 -0800 Subject: [PATCH 06/14] radio-report comment --- main/app/rodeo/core.hook | 2 +- main/mar/radio-report/door.hook | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/main/app/rodeo/core.hook b/main/app/rodeo/core.hook index 8be48b1053..7248e493b5 100644 --- a/main/app/rodeo/core.hook +++ b/main/app/rodeo/core.hook @@ -188,7 +188,7 @@ ^- telegram :* our.hid ((bond |.((shaf %twit id))) (~(get by sent) id)) - [[(sta me):ti %pending] `~] + [[(sta me):ti %received] `~] now [%say txt] == diff --git a/main/mar/radio-report/door.hook b/main/mar/radio-report/door.hook index a091f77ada..97b7d355b3 100644 --- a/main/mar/radio-report/door.hook +++ b/main/mar/radio-report/door.hook @@ -20,7 +20,8 @@ %config ~! rep (conf +.rep) %house [%a (turn (~(tap by +.rep)) joce)] %grams (jobe num/(jone p.rep) tele/[%a (turn q.rep gram)] ~) - %group %.(+.rep (jome phon stas)) + %group (grop +.rep) + :: (jobe global/(grop p.rep) local/%.(q.rep (jome stan grop)) ~) == ++ joce |=(a=span [%s a]) ++ jope |=(a=ship (jape +:)) ::[%s (crip +:(scow %p a))]) @@ -42,7 +43,10 @@ |=(c=_[+<.a +<.b] [(a -.c) (b +.c)]) :: :: + ++ grop (jome phon stas) :: from (map ship status) ++ phon |=(a=ship (scot %p a)) + ++ stas |=(status (jobe presence/(joce p) time/(jode q) human/(huma r) ~)) + :: ++ gram |=(telegram (jobe ship/(jope p) thought/(thot q) ~)) ++ thot |= thought @@ -67,7 +71,6 @@ %inv (jobe ship/(jope p.a) party/[%s q.a] ~) == :: - ++ stas |=(status (jobe presence/(joce p) time/(jode q) human/(huma r) ~)) ++ huma |= human %^ jobe From 9addc7d04eabab3c423eb4627783df0a186b9990 Mon Sep 17 00:00:00 2001 From: "C. Guy Yarvin" Date: Tue, 16 Dec 2014 16:03:49 -0800 Subject: [PATCH 07/14] Various fixes. --- main/app/rodeo/core.hook | 21 +++++++++------------ main/sur/radio/core.hook | 2 +- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/main/app/rodeo/core.hook b/main/app/rodeo/core.hook index db2637bc3b..13d218b20b 100644 --- a/main/app/rodeo/core.hook +++ b/main/app/rodeo/core.hook @@ -337,12 +337,16 @@ ::== & :: + ++ pa-present :: XX + ^- (map ship status) + ~ + :: ++ pa-watch :: watch presence |= her=ship ?. (pa-admire her) (pa-sauce ost [[%mean ~ %radio-watch-unauthorized ~] ~]) =. viewers (~(put in viewers) ost) - (pa-sauce ost [[%rust %radio-report %group present] ~]) + (pa-sauce ost [[%rust %radio-report %group pa-present] ~]) :: ++ pa-master :: hear config |= her=ship @@ -358,7 +362,7 @@ ?~ vew +> =. +> $(vew l.vew) =. +> $(vew r.vew) - (pa-sauce n.vew [[%rust %radio-report %group present] ~]) + (pa-sauce n.vew [[%rust %radio-report %group pa-present] ~]) :: ++ pa-monitor :: update config =+ owe=owners @@ -421,16 +425,11 @@ =+ num=(fall (~(get by sequence) tay) 0) ?- -.tay %| ~& tweet-asked/p.p.tay -<<<<<<< HEAD - :_ ~ - :- /twitter/[p.p.tay] - [%e %them ~ (stalk:ti p.p.tay)] -======= :_ ~ :- /twitter/mine/[p.p.tay]/[man] ?> =(me:ti p.p.tay) [%e %them ~ mine:ti] ->>>>>>> 30547cd97c64f70a312cb2435b742565e8abef49 + :: %& ~& [%pa-acquire [our.hid man] [p.p.tay q.p.tay]] :~ :- /friend/show/[man] [%g %show [p.p.tay /rodeo] our.hid /fm/[q.p.tay]/(scot %ud num)] @@ -457,13 +456,11 @@ =. guests (~(del in guests) ost) (pa-sauce ost [[%mean ~] ~]) :: - ++ pa- - :: ++ pa-notify :: new presence |= [her=ship per=presence] ^+ +> - =. locals - pa-display(present (~(put by present) her [per lat.hid *human])) + !! + :: pa-display(present (~(put by present) her [per lat.hid *human])) :: ++ pa-start :: start stream |= riv=river diff --git a/main/sur/radio/core.hook b/main/sur/radio/core.hook index 1512bc7e68..b494d269d8 100644 --- a/main/sur/radio/core.hook +++ b/main/sur/radio/core.hook @@ -31,7 +31,7 @@ == :: ++ serial ,@uvH :: unique identity ++ station (each cousin partner) :: interlocutor -++ status (pair presence human) :: participant +++ status (trel presence human) :: participant ++ speech :: party action $% [%own p=@t] :: @ or /me [%exp p=@t q=(unit tank)] :: program output From a807f8e71637e5c08a856a8278baac7250f137fd Mon Sep 17 00:00:00 2001 From: "C. Guy Yarvin" Date: Tue, 16 Dec 2014 16:36:45 -0800 Subject: [PATCH 08/14] Fix find-limb.$. --- main/app/rodeo/core.hook | 4 ++++ main/sur/radio/core.hook | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/main/app/rodeo/core.hook b/main/app/rodeo/core.hook index 37a9eb66c7..f89b12ba5e 100644 --- a/main/app/rodeo/core.hook +++ b/main/app/rodeo/core.hook @@ -166,6 +166,10 @@ ?~ pur ~& [%ra-friend-none man] +>.$ pa-abet:(~(pa-friend pa man u.pur) sih) :: + ++ ra-timer :: timeout + |- ^+ + + !! + :: ++ ra-twitter :: %twitter response |= [met=twim sih=sign] ^+ +> diff --git a/main/sur/radio/core.hook b/main/sur/radio/core.hook index b494d269d8..1512bc7e68 100644 --- a/main/sur/radio/core.hook +++ b/main/sur/radio/core.hook @@ -31,7 +31,7 @@ == :: ++ serial ,@uvH :: unique identity ++ station (each cousin partner) :: interlocutor -++ status (trel presence human) :: participant +++ status (pair presence human) :: participant ++ speech :: party action $% [%own p=@t] :: @ or /me [%exp p=@t q=(unit tank)] :: program output From c1b0449123bb6cf0992c4cabffbadae011117825 Mon Sep 17 00:00:00 2001 From: Anton Dyudin Date: Tue, 16 Dec 2014 16:42:25 -0800 Subject: [PATCH 09/14] unsubscribe thus --- main/app/rodeo/core.hook | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/main/app/rodeo/core.hook b/main/app/rodeo/core.hook index f89b12ba5e..217d3526a1 100644 --- a/main/app/rodeo/core.hook +++ b/main/app/rodeo/core.hook @@ -413,7 +413,11 @@ %+ turn tal |= tay=station ?- -.tay - %| !! + %| ~& tweet-abjure/p.p.tay + :- /twitter/mine/[p.p.tay]/[man] + ?> =(me:ti p.p.tay) + [%e %them ~] + :: %& ~& [%pa-abjure [our.hid man] [p.p.tay q.p.tay]] :- /friend/nuke/[man] [%g %nuke [p.p.tay /rodeo] our.hid] @@ -428,7 +432,7 @@ ^- (list (pair path note)) =+ num=(fall (~(get by sequence) tay) 0) ?- -.tay - %| ~& tweet-asked/p.p.tay + %| ~& tweet-acquire/p.p.tay :_ ~ :- /twitter/mine/[p.p.tay]/[man] ?> =(me:ti p.p.tay) From 0d493262351d5dc3afbeaa6d2db97d36100e2cd8 Mon Sep 17 00:00:00 2001 From: Philip C Monk Date: Tue, 16 Dec 2014 20:31:03 -0500 Subject: [PATCH 10/14] fix startup errors --- arvo/dill.hoon | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arvo/dill.hoon b/arvo/dill.hoon index 686f8d6dbe..181c2782b5 100644 --- a/arvo/dill.hoon +++ b/arvo/dill.hoon @@ -645,7 +645,8 @@ (fume:$(q.kyz t.q.kyz) '!' `tank`i.q.kyz) :: %hail :: refresh - +>.$(mos :_(mos (poke %term-ctrl -:!>(%hail) %hail))) + +>.$ + ::+>.$(mos :_(mos (poke %term-ctrl -:!>(%hail) %hail))) :: %harm :: all terms hung up =+ nug=((map duct yard) [[hen (~(get by dug) hen)] ~ ~]) From de2f92ebdbce81762cb5c3f49e719cebee34fbe2 Mon Sep 17 00:00:00 2001 From: Anton Dyudin Date: Tue, 16 Dec 2014 17:33:08 -0800 Subject: [PATCH 11/14] Radio export first draft --- main/app/radio/core.hook | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/main/app/radio/core.hook b/main/app/radio/core.hook index bdba7c0f64..58e1bb1940 100644 --- a/main/app/radio/core.hook +++ b/main/app/radio/core.hook @@ -1,4 +1,4 @@ -/- mess,user,users,zing,zong +/- mess,user,users,zing,zong,*radio !: => |% ++ axle @@ -53,6 +53,25 @@ == == :: +++ mamed + ^- (map span (list telegram)) + %- mo %+ turn (~(tap by p.vat)) + |= [a=path b=(list zong) c=(map ship ,?)] + =+ =+ (turn a |=(d=span leaf/(trip d))) + par=(crip ~(ram re %rose ["_" ~ ~] -)) + :- par + =+ aud=`audience`[[[%& our.hid par] %received] `~] + =+ ^= spe + |= r=_r:*zong ^- speech + ?- -.r + %say [%say p.r] + %do [%own p.r] + %exp [%exp p.r [~ q.r]] + == + %+ turn b + |= d=zong ^- telegram + [q.d (sham eny.hid d) aud p.d (spe r.d)] +:: ++ poke-zing |= [ost=bone you=ship zig=zing] ^- [(list move) _+>] @@ -69,6 +88,7 @@ |= [ost=bone you=ship ~] ^- [(list move) _+>] :_ +>.$ + ~& mamed %+ turn (~(tap by sup.hid)) |= [ost=bone her=ship pax=path] [ost %give %mean ~ %reload leaf/"please quit chat and re-enter" ~] From ebac53c3a37d23cea4bdbde0566e2b70809d6d52 Mon Sep 17 00:00:00 2001 From: Philip C Monk Date: Tue, 16 Dec 2014 21:07:50 -0500 Subject: [PATCH 12/14] stubbed out input-tracking in talk --- main/app/talk/core.hook | 12 ++++++++++++ main/app/terminal/core.hook | 1 - 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/main/app/talk/core.hook b/main/app/talk/core.hook index ae6c3abcc9..781d73e8c2 100644 --- a/main/app/talk/core.hook +++ b/main/app/talk/core.hook @@ -61,6 +61,7 @@ $: %rush $= p $% [%txt p=cord] + [%type p=?] == == $: %rust $= p @@ -392,6 +393,16 @@ ?> ?=(%txt -.p.sih) (pour-shell ost p.p.sih) == + :: + %cmd-ac + ?- +<.sih + %nice [~ +>.$] + %mean [(send /out %give +.sih) +>.$] + ?(%rush %rust) + ?> ?=(%type -.p.sih) + ~& [%talk-inputting p.p.sih] + [~ +>.$] + == :: %command ?> ?=(?(%mean %nice) +<.sih) @@ -442,6 +453,7 @@ ^- [(list move) _+>] :_ +> :~ [ost %pass /cmd-in %g %show [our.hid +.imp.hid] you /in/[-.imp.hid]] + [ost %pass /cmd-ac %g %show [our.hid +.imp.hid] you /active/[-.imp.hid]] ^- move :* ost %pass /server %g %show diff --git a/main/app/terminal/core.hook b/main/app/terminal/core.hook index 61558deddd..a74715138b 100644 --- a/main/app/terminal/core.hook +++ b/main/app/terminal/core.hook @@ -162,7 +162,6 @@ == :: %type - ~& > %inputz (send %type -:!>(*?) p.jof) == :: From 2f6449503ac6294c90d17a069224ad425700178f Mon Sep 17 00:00:00 2001 From: "C. Guy Yarvin" Date: Wed, 17 Dec 2014 10:05:38 -0800 Subject: [PATCH 13/14] Various fixes and improvements. --- main/app/rodeo/core.hook | 181 ++++++++++++++++++++++++++----- main/app/talk/core.hook | 22 +++- main/mar/radio-command/door.hook | 3 +- main/mar/radio-report/door.hook | 4 +- main/sur/radio/core.hook | 7 +- 5 files changed, 184 insertions(+), 33 deletions(-) diff --git a/main/app/rodeo/core.hook b/main/app/rodeo/core.hook index f89b12ba5e..3731c2be48 100644 --- a/main/app/rodeo/core.hook +++ b/main/app/rodeo/core.hook @@ -18,12 +18,13 @@ general=(set bone) :: meta-subscribe outbox=(pair ,@ud (map ,@ud thought)) :: urbit outbox sent=(map tid:twit serial) :: own tweets + folks=(map ship human) :: human identities == :: ++ party :: a conversation $: count=@ud :: (lent grams) grams=(list telegram) :: all history - locals=(map ship (pair ,@da presence)) :: local presence - remotes=(map station (map ship status)) :: remote presence + locals=(map ship (pair ,@da status)) :: local presence + remotes=(map station atlas) :: remote presence sequence=(map station ,@ud) :: stations heard shape=config :: configuration known=(map serial ,@ud) :: messages heard @@ -49,7 +50,10 @@ $% [%mean p=ares] :: cancel [%nice ~] :: acknowledge [%rust %radio-report report] :: refresh - == == == :: + == == :: + $: %t :: + $% [%wake ~] :: timer wakeup + == == == ++ move ,[p=bone q=(mold note gift)] :: all actions ++ hapt ,[p=ship q=path] :: app instance ++ note :: requests @@ -60,6 +64,9 @@ $% [%mess p=hapt q=ship r=cage] :: message [%nuke p=hapt q=ship] :: cancel [%show p=hapt q=ship r=path] :: subscribe + == == + $: %t :: + $% [%wait p=@da] :: == == == :: ++ twim :: twitter endpoints $%([%mine p=span] [%stat p=@uv]) @@ -143,12 +150,7 @@ :: %review ra-ever:(ra-think | her +.cod) %publish ra-ever:(ra-think & her +.cod) - %ping - =+ pur=(~(get by parties) p.cod) - ?~ pur - (ra-evil %radio-no-party) - =< ra-ever =< pa-abet - (~(pa-notify pa p.cod u.pur) her q.cod) + %ping (ra-notice +.cod) == :: ++ ra-config :: configure party @@ -166,9 +168,21 @@ ?~ pur ~& [%ra-friend-none man] +>.$ pa-abet:(~(pa-friend pa man u.pur) sih) :: + ++ ra-stalk :: %stalk response + |= [man=span tay=station sih=sign] + ^+ +> + =+ pur=(~(get by parties) man) + ?~ pur ~& [%ra-stalk-none man] +>.$ + pa-abet:(~(pa-stalk pa man u.pur) tay sih) + :: ++ ra-timer :: timeout - |- ^+ + - !! + ^+ . + =+ paz=parties + |- ^+ +> + ?~ paz +>.$ + =. +>.$ $(paz l.paz) + =. +>.$ $(paz r.paz) + pa-abet:~(pa-timer pa p.n.paz q.n.paz) :: ++ ra-twitter :: %twitter response |= [met=twim sih=sign] @@ -271,6 +285,47 @@ ?~ aud +>.^$ $(aud t.aud, +>.^$ (ra-conduct pub her p.i.aud tip)) :: + ++ ra-notice :: declare presence + |= [her=ship las=atlas] + ^+ +> + =+ sul=(~(tap by las) ~) + |- ^+ +>.^$ + ?~ sul ra-ever + =. +>.^$ $(sul t.sul) + ?- -.p.i.sul + %| +>.^$ + %& ?: =(p.p.i.sul our.hid) + (ra-appear q.p.i.sul q.i.sul) + ?: =(her our.hid) + (ra-provoke p.p.i.sul i.sul) + (ra-evil %radio-unauthorized-presence) + == + :: + ++ ra-appear :: review presence + |= [her=ship man=span per=presence] + =^ who folks + =+ who=(~(get by folks) her) + ?^ who [u.who folks] + =+ who=*human :: XX do right + [who (~(put by folks) who her)] + =+ pur=(~(get by parties) man) + ?~ pur + ~& [%bad-appear man] + (ra-evil %radio-no-party) + pa-abet:(~(pa-notify pa man u.pur) her who per) + :: + ++ ra-provoke :: forward presence + |= [him=ship tay=station per=presence] + %+ ra-emit ost + :* %pass + /provoke + %g + %mess + [him /rodeo] + our.hid + [%radio-command !>(`command`[%ping [[tay per] ~ ~]])] + == + :: ++ ra-conduct :: thought to station |= [pub=? her=ship tay=station tip=thought] ^+ +> @@ -341,9 +396,15 @@ ::== & :: - ++ pa-present :: XX - ^- (map ship status) - ~ + ++ pa-timer :: timer expire + ^+ . + =+ cul=(~(tap by locals) ~) + =+ ^= hay + %+ skim cul + |= [a=ship b=@da c=status] + (lte lat.hid (add ~m2 b)) + ?: =(cul hay) +> + pa-display(locals (~(gas by *(map ship (pair ,@da status))) hay)) :: ++ pa-watch :: watch presence |= her=ship @@ -361,12 +422,17 @@ (pa-sauce ost [[%rust %radio-report %config shape] ~]) :: ++ pa-display :: update presence - =+ vew=viewers + =+ :- vew=viewers + ^= reg + :_ remotes + |- ^- atlas + ?~ locals ~ + [[p.n.locals q.q.n.locals] $(locals l.locals) $(locals r.locals)] |- ^+ +> ?~ vew +> =. +> $(vew l.vew) =. +> $(vew r.vew) - (pa-sauce n.vew [[%rust %radio-report %group pa-present] ~]) + (pa-sauce n.vew [[%rust %radio-report %group reg] ~]) :: ++ pa-monitor :: update config =+ owe=owners @@ -393,6 +459,22 @@ == == :: + ++ pa-stalk :: subscribed present + |= [tay=station sih=sign] + ^+ +> + ?+ sih ~&([%radio-bad-friend sih] !!) + [%g %nice ~] + ~& %pa-friend-nice + +>.$ + :: + [%g %rust %radio-report *] + ~& [%pa-friend-report +>+.sih] + ?+ -.+>+.sih ~&([%radio-odd-friend sih] !!) + %group + (pa-remind tay +.+>+.sih) + == + == + :: ++ pa-scrub :: pass forward |= [ost=bone bub=(list (pair path note))] %_ +>.$ @@ -410,13 +492,17 @@ ++ pa-abjure :: unsubscribe move |= tal=(list station) %+ pa-scrub 0 + %- zing %+ turn tal |= tay=station ?- -.tay %| !! %& ~& [%pa-abjure [our.hid man] [p.p.tay q.p.tay]] - :- /friend/nuke/[man] - [%g %nuke [p.p.tay /rodeo] our.hid] + :~ :- /friend/nuke/[man] + [%g %nuke [p.p.tay /rodeo] our.hid] + :- /stalk/nuke/[man] + [%g %nuke [p.p.tay /rodeo] our.hid] + == == :: ++ pa-acquire :: subscribe to @@ -437,7 +523,7 @@ %& ~& [%pa-acquire [our.hid man] [p.p.tay q.p.tay]] :~ :- /friend/show/[man] [%g %show [p.p.tay /rodeo] our.hid /fm/[q.p.tay]/(scot %ud num)] - :- /friend/view/[man] + :- /stalk/show/[man]/(scot %p p.p.tay)/[q.p.tay] [%g %show [p.p.tay /rodeo] our.hid /am/[q.p.tay]] == == @@ -460,11 +546,37 @@ =. guests (~(del in guests) ost) (pa-sauce ost [[%mean ~] ~]) :: - ++ pa-notify :: new presence + ++ pa-notify :: local presence |= [her=ship per=presence] ^+ +> - !! - :: pa-display(present (~(put by present) her [per lat.hid *human])) + =+ guz=(~(get by locals) her) + =. locals (~(put by locals) her lat.hid per) + ?. |(?=(~ guz) !=(per q.u.guz)) + +>.$ + pa-display + :: + ++ pa-remind :: remote presence + |= [tay=station loc=atlas rem=(map station atlas)] + =+ ^= buk + =+ mer=(turn (~(tap by rem) ~) |=([* a=atlas] a)) + |- ^- atlas + ?~ mer loc + =. loc $(mer t.mer) + =+ dur=`(list (pair ship status))`(~(tap by q.i.mer) ~) + |- ^- atlas + ?~ dur loc + =. loc $(dur t.dur) + =+ fuy=(~(get by loc) p.i.dur) + ?~ fuy (~(put by loc) p.i.dur q.i.dur) + ?: =(`presence`p.q.i.dur `presence`p.u.fuy) + loc + ?- p.u.fuy + %talk loc + %hear (~(put by loc) p.i.dur q.i.dur) + == + ?. |(?=(~ gub) =(buk u.gub)) + +>.$ + pa-display(remotes (~(put by remotes) tay buk)) :: ++ pa-start :: start stream |= riv=river @@ -520,12 +632,12 @@ =+ lef=$(guests l.guests) =+ rit=$(guests r.guests) =+ old=[p=(welp p.lef p.rit) q=(welp q.lef q.rit)] - ?: ?- -.q.q.n.guests :: after the end + ?: ?- -.q.q.n.guests :: after the end %ud (lte p.q.q.n.guests num) %da (lte p.q.q.n.guests p.r.q.gam) == [[p.n.guests p.old] [[p.n.guests %give %mean ~] q.old]] - ?: ?- -.p.q.n.guests :: before the start + ?: ?- -.p.q.n.guests :: before the start %ud (gth p.p.q.n.guests num) %da (gth p.p.q.n.guests p.r.q.gam) == @@ -592,6 +704,13 @@ :: ~& sih=sih =+ sih=((hard sign) sih) ?+ pax ~& [%rodeo-strange-path pax] !! + :: + [%provoke ~] [~ +>.$] + [%time ~] + ?> ?=(0 ost) + =^ moz +>.$ ra-abet:~(ra-timer ra 0 ~) + :_(+>.$ :_(moz [0 %pass /time %t %wait (add ~s10 lat.hid)])) + :: [%twitter *] =- ra-abet:(~(ra-twitter ra ost ~) met sih) ^= met @@ -601,12 +720,21 @@ [%stat @ ~] [i.t.pax (slav %uv i.t.t.pax)] == + :: [%friend *] ?> ?=([@ @ ~] t.pax) ?. =(%show i.t.pax) ~& [%pour-friend-nuke-nuke pax] [~ +>.$] ra-abet:(~(ra-friend ra ost ~) i.t.t.pax sih) + :: + [%stalk *] + ?> ?=([@ @ @ ~] t.pax) + ?. =(%show i.t.pax) + ~& [%pour-friend-nuke-nuke pax] + [~ +>.$] + =+ [man tay]=[i.t.t.pax %& (scot %p i.t.t.t.pax) i.t.t.t.t.pax] + ra-abet:(~(ra-stalk ra ost ~) man tay sih) :: [%repeat *] ?> ?=([@ @ @ ~] t.pax) @@ -617,12 +745,13 @@ ++ prep |= old=(unit (unit house)) ^- [(list move) _+>] + :- [0 %pass /time %t %wait (add ~s10 lat.hid)]~ ?> ?=(^ old) ?^ u.old ~& %rodeo-prep-old - [~ +>(+<+ u.u.old)] + +>(+<+ u.u.old) ~& %rodeo-prep-new - [~ +:ra-abet:(~(ra-apply ra 0 ~) our.hid %design %main `[~ [%| ~]])] + +:ra-abet:(~(ra-apply ra 0 ~) our.hid %design %main `[~ [%| ~]]) :: ++ pull |= ost=bone diff --git a/main/app/talk/core.hook b/main/app/talk/core.hook index ae6c3abcc9..15f2d6d554 100644 --- a/main/app/talk/core.hook +++ b/main/app/talk/core.hook @@ -53,7 +53,10 @@ $% [%mess p=hapt q=ship r=cage] [%nuke p=hapt q=ship] [%show p=hapt q=ship r=path] - == == == + == == + $: %t :: + $% [%wait p=@da] :: + == == == :: ++ sign $? $: %g $% [%mean p=ares] @@ -67,6 +70,9 @@ $% [%txt p=cord] [%radio-report p=report] == == + == == + $: %t :: + $% [%wake ~] :: timer wakeup == == == -- !: @@ -392,6 +398,19 @@ ?> ?=(%txt -.p.sih) (pour-shell ost p.p.sih) == + :: + %time + :_ +>.$ + :* [0 %pass /time %t %wait (add ~s10 lat.hid)] + ?~ targets + ~ + :_ ~ + %+ send-rodeo 0 + :- %ping + %- ~(gas by *(map station presence)) + %+ turn (~(tap by targets) ~) + |=(a=station [a %hear]) + == :: %command ?> ?=(?(%mean %nice) +<.sih) @@ -442,6 +461,7 @@ ^- [(list move) _+>] :_ +> :~ [ost %pass /cmd-in %g %show [our.hid +.imp.hid] you /in/[-.imp.hid]] + [0 %pass /time %t %wait (add ~s10 lat.hid)]~ ^- move :* ost %pass /server %g %show diff --git a/main/mar/radio-command/door.hook b/main/mar/radio-command/door.hook index c1b043391e..eee32b9ed2 100644 --- a/main/mar/radio-command/door.hook +++ b/main/mar/radio-command/door.hook @@ -16,7 +16,7 @@ =< :~ publish/(ar thot) review/(ar thot) design/(ot party/so config/(mu conf) ~) - ping/(ot party/so presence/(ci (soft presence) so) ~) + ping/auri == |% ++ op :: parse keys of map @@ -58,6 +58,7 @@ == :: ++ audi (op stati (ci (soft delivery) so)) :: audience + ++ auri (op stati (ci (soft presence) so)) :: ++ stati ^- $+(nail (like station)) diff --git a/main/mar/radio-report/door.hook b/main/mar/radio-report/door.hook index c387f05026..ca125c5500 100644 --- a/main/mar/radio-report/door.hook +++ b/main/mar/radio-report/door.hook @@ -20,8 +20,8 @@ %config ~! rep (conf +.rep) %house [%a (turn (~(tap by +.rep)) joce)] %grams (jobe num/(jone p.rep) tele/[%a (turn q.rep gram)] ~) - %group (grop +.rep) - :: (jobe global/(grop p.rep) local/%.(q.rep (jome stan grop)) ~) + ::%group (grop +.rep) + %group (jobe local/(grop p.rep) global/%.(q.rep (jome stan grop)) ~) == ++ joce |=(a=span [%s a]) ++ jope |=(a=ship (jape +:)) ::[%s (crip +:(scow %p a))]) diff --git a/main/sur/radio/core.hook b/main/sur/radio/core.hook index 1512bc7e68..911d43cae9 100644 --- a/main/sur/radio/core.hook +++ b/main/sur/radio/core.hook @@ -3,18 +3,19 @@ :: |% ++ audience (map station delivery) :: destination/state +++ atlas (map ship status) :: presence map ++ command :: effect on party $% [%design (pair span (unit config))] :: configure/destroy [%publish (list thought)] :: originate [%review (list thought)] :: deliver - [%ping (pair span presence)] :: declare status + [%ping (map station presence)] :: declare status == :: ++ config :: party configuration $: sources=(set station) :: pulls from cordon=(each (set ship) (set ship)) :: white/blacklist == :: ++ cousin (pair ship span) :: domestic flow -++ delivery ?(%pending %received %rejected) :: delivery state +++ delivery ?(%pending %received %rejected %released) :: delivery state ++ human :: human identifier $: true=(unit (trel ,@t (unit ,@t) ,@t)) :: true name hand=(unit ,@t) :: handle @@ -26,7 +27,7 @@ ++ report :: unified rush/rust $% [%house (set span)] :: meta-changes [%grams (pair ,@ud (list telegram))] :: thoughts - [%group (map ship status)] :: presence + [%group (pair atlas (map station atlas)] :: presence [%config config] :: reconfigure == :: ++ serial ,@uvH :: unique identity From 6f96f05dc8a2c203f74331f48ba772ee040706ef Mon Sep 17 00:00:00 2001 From: Philip C Monk Date: Wed, 17 Dec 2014 13:59:33 -0500 Subject: [PATCH 14/14] have :ls kill itself after it's finished --- main/app/ls/core.hook | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main/app/ls/core.hook b/main/app/ls/core.hook index f6bc508dcc..a9f0f6f617 100644 --- a/main/app/ls/core.hook +++ b/main/app/ls/core.hook @@ -4,7 +4,8 @@ |= [ost=bone you=ship arg=path ~] =+ lon=((hard arch) .^(%cy arg)) :_ +>.$ - :* [ost %give %nice ~] + :* [ost %pass / %g %cide %$] + [ost %give %nice ~] %+ turn (~(tap by sup.hid)) |= [ost=bone *] :^ ost %give %rush