From cb8911398651f445ff5301b05cadb7fdae383f7e Mon Sep 17 00:00:00 2001 From: "C. Guy Yarvin" Date: Thu, 10 Dec 2015 17:28:33 -0800 Subject: [PATCH] cabclean cleaned up, except for some %talk stuff. --- ape/talk.hoon | 475 ++++++++++++++++++++-------------------- lib/down-jet/parse.hoon | 382 ++++++++++++++++---------------- lib/down-jet/rend.hoon | 110 +++++----- lib/oct4.hoon | 4 +- lib/react.hoon | 4 +- mar/cloud/auth.hoon | 4 +- mar/cloud/secret.hoon | 6 +- mar/dill/belt.hoon | 20 +- mar/oct4/move.hoon | 2 +- mar/oct4/update.hoon | 4 +- mar/sched.hoon | 2 +- mar/talk/command.hoon | 6 +- mar/talk/report.hoon | 2 +- mar/talk/telegrams.hoon | 32 +-- mar/users.hoon | 5 +- mar/work/command.hoon | 26 +-- mar/work/report.hoon | 4 +- sur/kyev.hoon | 8 +- sur/markdown.hoon | 47 ++-- sur/mess.hoon | 6 +- sur/oct4.hoon | 10 +- sur/users.hoon | 2 +- 22 files changed, 582 insertions(+), 579 deletions(-) diff --git a/ape/talk.hoon b/ape/talk.hoon index 49ab46679..aa7ba2f3f 100644 --- a/ape/talk.hoon +++ b/ape/talk.hoon @@ -10,11 +10,11 @@ :: [. talk sole] => |% :: data structures - ++ house ,[%5 house-5] :: full state + ++ house {$5 house-5} :: full state ++ house-any :: app history - $% [%3 house-3] :: 3: talk - [%4 house-4] :: 4: talk - [%5 house-5] :: 5: talk + _% {$3 house-3} :: 3: talk + {$4 house-4} :: 4: talk + {$5 house-5} :: 5: talk == :: ++ house-3 :: %+ cork house-4 |= house-4 :: modern house with @@ -23,93 +23,93 @@ %+ cork house-5 |= house-5 :: modern house with +<(shells (~(run by shells) shell-4)) :: no settings ++ house-5 :: - $: stories=(map span story) :: conversations - general=(set bone) :: meta-subscribe - outbox=(pair ,@ud (map ,@ud thought)) :: urbit outbox - folks=(map ship human) :: human identities - shells=(map bone shell) :: interaction state - log=(map span ,@ud) :: logged to clay - nik=(map (set partner) char) :: bound station glyphs - nak=(jug char (set partner)) :: station glyph lookup + _: stories+(map span story) :: conversations + general+(set bone) :: meta-subscribe + outbox+(pair @ud (map @ud thought)) :: urbit outbox + folks+(map ship human) :: human identities + shells+(map bone shell) :: interaction state + log+(map span @ud) :: logged to clay + nik+(map (set partner) char) :: bound station glyphs + nak+(jug char (set partner)) :: station glyph lookup == :: ++ story-3 (cork story |=(story +<(|10 &11.+<))) :: missing glyphers ++ story :: wire content - $: count=@ud :: (lent grams) - grams=(list telegram) :: all history - locals=(map ship (pair ,@da status)) :: local presence - remotes=(map partner atlas) :: remote presence - mirrors=(map station config) :: remote config - sequence=(map partner ,@ud) :: partners heard - shape=config :: configuration - known=(map serial ,@ud) :: messages heard - gramsers=(map bone river) :: message followers - groupers=(set bone) :: presence followers - cabalers=(set bone) :: config followers - glyphers=(set bone) :: glyph followers + _: count+@ud :: (lent grams) + grams+(list telegram) :: all history + locals+(map ship (pair @da status)) :: local presence + remotes+(map partner atlas) :: remote presence + mirrors+(map station config) :: remote config + sequence+(map partner @ud) :: partners heard + shape+config :: configuration + known+(map serial @ud) :: messages heard + gramsers+(map bone river) :: message followers + groupers+(set bone) :: presence followers + cabalers+(set bone) :: config followers + glyphers+(set bone) :: glyph followers == :: ++ shell :: console session - $: her=ship :: client identity - man=span :: mailbox - count=@ud :: messages shown - say=sole-share :: console state - active=(unit (set partner)) :: active targets - passive=(set partner) :: passive targets - owners=register :: presence mirror - harbor=(map span (pair posture cord)) :: stations mirror - system=cabal :: config mirror - settings=(set span) :: frontend settings + _: her+ship :: client identity + man+span :: mailbox + count+@ud :: messages shown + say+sole-share :: console state + active+(unit (set partner)) :: active targets + passive+(set partner) :: passive targets + owners+register :: presence mirror + harbor+(map span (pair posture cord)) :: stations mirror + system+cabal :: config mirror + settings+(set span) :: frontend settings == :: ++ shell-4 (cork shell |=(shell +<(|8 &9.+<))) :: missing settings ++ river (pair point point) :: stream definition ++ point :: stream endpoint - $% [%ud p=@ud] :: by number - [%da p=@da] :: by date + _% {$ud p+@ud} :: by number + {$da p+@da} :: by date == :: ++ move (pair bone card) :: all actions ++ lime :: diff fruit - $% [%talk-report report] :: - [%sole-effect sole-effect] :: + _% {$talk-report report} :: + {$sole-effect sole-effect} :: == :: ++ pear :: poke fruit - $% [%talk-command command] :: + _% {$talk-command command} :: == :: ++ card :: general card - $% [%diff lime] :: - [%info wire @p @tas nori] :: - [%peer wire dock path] :: - [%poke wire dock pear] :: - [%pull wire dock ~] :: - [%quit ~] :: + _% {$diff lime} :: + {$info wire @p @tas nori} :: + {$peer wire dock path} :: + {$poke wire dock pear} :: + {$pull wire dock ~} :: + {$quit $~} :: == :: ++ weir :: parsed wire - $% [%repeat p=@ud q=@p r=span] :: - [%friend p=span q=station] :: + _% {$repeat p+@ud q+@p r+span} :: + {$friend p+span q+station} :: == :: ++ work :: interface action - $% [%number p=$|(@ud [@u @ud])] :: relative/absolute - [%help ~] :: print usage info - [%who p=where] :: presence - [%what p=$|(char (set partner))] :: show bound glyph - [%bind p=char q=(unit where)] :: - [%join p=where] :: - [%leave p=where] :: - [%say p=(list speech)] :: - [%eval p=cord q=twig] :: - [%invite p=span q=(list partner)] :: whitelist add - [%banish p=span q=(list partner)] :: blacklist add - [%block p=span q=(list partner)] :: blacklist add - [%author p=span q=(list partner)] :: whitelist add - [%nick p=(unit ship) q=(unit cord)] :: - [%set p=span] :: - [%unset p=span] :: - [%target p=where q=(unit work)] :: set active targets - :: [%destroy p=span] :: - [%create p=posture q=span r=cord] :: - [%probe p=station] :: + _% {$number p+$|(@ud {@u @ud})} :: relative/absolute + {$help ~} :: print usage info + {$who p+where} :: presence + {$what p+$|(char (set partner))} :: show bound glyph + {$bind p+char q+(unit where)} :: + {$join p+where} :: + {$leave p+where} :: + {$say p+(list speech)} :: + {$eval p+cord q+twig} :: + {$invite p+span q+(list partner)} :: whitelist add + {$banish p+span q+(list partner)} :: blacklist add + {$block p+span q+(list partner)} :: blacklist add + {$author p+span q+(list partner)} :: whitelist add + {$nick p+(unit ship) q+(unit cord)} :: + {$set p+span} :: + {$unset p+span} :: + {$target p+where q+(unit work)} :: set active targets + :: {$destroy p+span} :: + {$create p+posture q+span r+cord} :: + {$probe p+station} :: == :: ++ where (set partner) :: non-empty audience ++ sigh :: assemble label - |= [len=@ud pre=tape yiz=cord] + |= {len+@ud pre+tape yiz+cord} ^- tape =+ nez=(trip yiz) =+ lez=(lent nez) @@ -124,30 +124,31 @@ -- |_ [hid=bowl house] ++ ra :: per transaction - |_ moves=(list move) + |_ moves+(list move) ++ sh :: per console - |_ $: coz=(list command) :: talk actions - she=shell + |_ $^ + _: coz+(list command) :: talk actions + she+shell == ++ sh-scad :: command parser =< work |% ++ expr :: [cord twig] - |= tub=nail %. tub + |= tub+nail %. tub %+ stag (crip q.tub) wide:(vang & [&1:% &2:% (scot %da now.hid) |3:%]) :: ++ dare :: @dr %+ sear - |= a=coin - ?. ?=([%$ %dr @] a) ~ + |= a+coin + ?. ?=({$$ $dr @} a) ~ (some `@dr`+>.a) nuck:so :: ++ ship ;~(pfix sig fed:ag) :: ship ++ shiz :: ship set %+ cook - |=(a=(list ^ship) (~(gas in *(set ^ship)) a)) + |=(a+(list ^ship) (~(gas in *(set ^ship)) a)) (most ;~(plug com (star ace)) ship) :: ++ pasp :: passport @@ -164,7 +165,7 @@ ;~(pfix fas (stag (sein our.hid) sym)) :: %+ cook - |= [a=@p b=(unit term)] + |= {a+@p b+(unit term)} [a ?^(b u.b (main a))] ;~ plug ship @@ -178,12 +179,12 @@ (stag %| pasp) == ++ partners-flat :: collapse mixed list - |= a=(list (each partner (set partner))) + |= a+(list (each partner (set partner))) ^- (set partner) ?~ a ~ ?- -.i.a - %& (~(put in $(a t.a)) p.i.a) - %| (~(uni in $(a t.a)) p.i.a) + {$&} (~(put in $(a t.a)) p.i.a) + {$|} (~(uni in $(a t.a)) p.i.a) == :: ++ para :: partners alias @@ -288,23 +289,23 @@ |= cod=command ^+ +> ?- -.cod - %design + $design ?~ q.cod =. +>+>.$ (ra-config p.cod *config) +>.$(stories (~(del by stories) p.cod)) +>(+> (ra-config p.cod u.q.cod)) :: - %review +>(+> (ra-think | her.she +.cod)) - %publish +>(+> (ra-think & her.she +.cod)) + $review +>(+> (ra-think | her.she +.cod)) + $publish +>(+> (ra-think & her.she +.cod)) == :: ++ sh-fact :: send console effect - |= fec=sole-effect + |= fec+sole-effect ^+ +> +>(moves :_(moves [ost.hid %diff %sole-effect fec])) :: ++ sh-peep :: peer to path - |= pax=path + |= pax+path ^+ +> +>(+> (ra-subscribe her.she pax)) :: @@ -320,7 +321,7 @@ %+ sh-fact %pro :+ & %talk-line ^- tape - =+ ^= rew ^- (pair (pair ,@t ,@t) (set partner)) + =+ ^= rew ^- (pair (pair @t @t) (set partner)) ?~ active.she [['(' ')'] passive.she] [['[' ']'] u.active.she] @@ -331,19 +332,19 @@ (weld `tape`[p.p.rew por] `tape`[q.p.rew ' ' ~]) :: ++ sh-pact :: update active aud - |= lix=(set partner) + |= lix+(set partner) ^+ +> =+ act=?~(lix ~ `(sh-pare lix)) ?: =(active.she act) +>.$ sh-prod(active.she act) :: ++ sh-pare :: adjust target list - |= paz=(set partner) + |= paz+(set partner) ?: (sh-pear paz) paz (~(put in paz) [%& our.hid man.she]) :: ++ sh-pear :: hearback - |= paz=(set partner) + |= paz+(set partner) ?~ paz | ?| $(paz l.paz) $(paz r.paz) @@ -351,13 +352,13 @@ == :: ++ sh-pass :: passive from aud - |= aud=audience + |= aud+audience %- sh-poss %- ~(gas in *(set partner)) (turn (~(tap by aud)) |=([a=partner *] a)) :: ++ sh-poss :: passive update - |= lix=(set partner) + |= lix+(set partner) ?^ buf.say.she +>.$ =+ sap=(sh-pare lix) @@ -366,33 +367,31 @@ sh-prod(passive.she sap) :: ++ sh-pest :: report listen - |= tay=partner + |= tay+partner ^+ +> - ?. ?=(%& -.tay) +> + ?. ?=($& -.tay) +> =+ sib=(~(get by ham.system.she) `station`p.tay) - ?. |(?=(~ sib) !?=(%white p.cordon.u.sib)) + ?. |(?=($~ sib) !?=($white p.cordon.u.sib)) +>.$ (sh-poss [tay ~ ~]) :: ++ sh-rend :: print on one line - |= gam=telegram + |= gam+telegram =+ lin=~(tr-line tr man.she (~(has in settings.she) %noob) gam) (sh-pass:(sh-fact %txt lin) q.q.gam) :: ++ sh-numb :: print msg number - |= num=@ud + |= num+@ud ^+ +> =+ bun=(scow %ud num) - :: =+ pad=(sub 36 (lent bun)) - :: =+ now=`@da`(dis now.hid 0xffff.ffff.ffff.ffff.0000.0000.0000.0000) %+ sh-fact %txt (runt [(sub 13 (lent bun)) '-'] "[{bun}]") :: ++ sh-glyf :: decode glyph - |= cha=char ^- (unit (set partner)) + |= cha+char ^- (unit (set partner)) =+ lax=(~(get ju nak) cha) ?: =(~ lax) ~ - ?: ?=([* ~ ~] lax) `n.lax + ?: ?=({* $~ $~} lax) `n.lax =+ grams=grams:(~(got by stories) man.she) |- ^- (unit (set partner)) ?~ grams ~ @@ -401,11 +400,11 @@ $(grams t.grams) :: ++ sh-repo-house-diff - |= [one=shelf two=shelf] - =| $= ret - $: old=(list (pair span (pair posture cord))) - new=(list (pair span (pair posture cord))) - cha=(list (pair span (pair posture cord))) + |= {one+shelf two+shelf} + =| _= ret + _: old+(list (pair span (pair posture cord))) + new+(list (pair span (pair posture cord))) + cha+(list (pair span (pair posture cord))) == ^+ ret =. ret @@ -429,11 +428,11 @@ ret :: ++ sh-repo-atlas-diff - |= [one=atlas two=atlas] - =| $= ret - $: old=(list (pair ship status)) - new=(list (pair ship status)) - cha=(list (pair ship status)) + |= {one+atlas two+atlas} + =| _= ret + _: old+(list (pair ship status)) + new+(list (pair ship status)) + cha+(list (pair ship status)) == ^+ ret =. ret @@ -457,11 +456,11 @@ ret :: ++ sh-repo-cabal-diff - |= [one=(map station config) two=(map station config)] - =| $= ret - $: old=(list (pair station config)) - new=(list (pair station config)) - cha=(list (pair station config)) + |= {one+(map station config) two+(map station config)} + =| _= ret + _: old+(list (pair station config)) + new+(list (pair station config)) + cha+(list (pair station config)) == ^+ ret =. ret @@ -485,9 +484,9 @@ ret :: ++ sh-repo-rogue-diff - |= [one=(map partner atlas) two=(map partner atlas)] - =| $= ret - $: old=(list (pair partner atlas)) + |= {one+(map partner atlas) two+(map partner atlas)} + =| _= ret + _: old+(list (pair partner atlas)) new=(list (pair partner atlas)) cha=(list (pair partner atlas)) == @@ -513,10 +512,10 @@ ret :: ++ sh-repo-whom-diff - |= [one=(set partner) two=(set partner)] - =| $= ret - $: old=(list partner) - new=(list partner) + |= {one+(set partner) two+(set partner)} + =| _= ret + _: old+(list partner) + new+(list partner) == ^+ ret =. ret @@ -538,10 +537,10 @@ ret :: ++ sh-repo-ship-diff - |= [one=(set ship) two=(set ship)] - =| $= ret - $: old=(list ship) - new=(list ship) + |= {one+(set ship) two+(set ship)} + =| _= ret + _: old+(list ship) + new+(list ship) == ^+ ret =. ret @@ -563,18 +562,18 @@ ret :: ++ sh-puss - |= a=posture ^- tape + |= a+posture ^- tape ?- a - %black "channel" - %brown "mailbox" - %white "village" - %green "journal" + $black "channel" + $brown "mailbox" + $white "village" + $green "journal" == :: ++ sh-repo-config-exceptions - |= [pre=tape por=posture old=(list ship) new=(list ship)] - =+ out=?:(?=(?(%black %brown) por) "try " "cut ") - =+ inn=?:(?=(?(%black %brown) por) "ban " "add ") + |= {pre+tape por+posture old+(list ship) new+(list ship)} + =+ out=?:(?=(?($black $brown) por) "try " "cut ") + =+ inn=?:(?=(?($black $brown) por) "ban " "add ") =. +>.$ |- ^+ +>.^$ ?~ old +>.^$ @@ -588,7 +587,7 @@ +>.$ :: ++ sh-repo-config-sources - |= [pre=tape old=(list partner) new=(list partner)] + |= {pre+tape old+(list partner) new+(list partner)} ^+ +> =. +>.$ |- ^+ +>.^$ @@ -603,7 +602,7 @@ +>.$ :: ++ sh-repo-config-show - |= [pre=tape laz=config loc=config] + |= {pre+tape laz+config loc+config} ^+ +> =. +>.$ ?: =(caption.loc caption.laz) +>.$ @@ -624,10 +623,11 @@ (sh-repo-ship-diff q.cordon.laz q.cordon.loc) :: ++ sh-repo-cabal-changes - |= $: laz=(map station config) - old=(list (pair station config)) - new=(list (pair station config)) - cha=(list (pair station config)) + |= $^ + _: laz+(map station config) + old+(list (pair station config)) + new+(list (pair station config)) + cha+(list (pair station config)) == =. +>.$ |- ^+ +>.^$ @@ -647,7 +647,7 @@ +>.$ :: ++ sh-repo-cabal - |= bal=cabal + |= bal+cabal ^+ +> =+ laz=system.she =. system.she bal @@ -657,7 +657,7 @@ (sh-repo-config-show "" loc.laz loc.bal) :: ++ sh-repo-house - |= awl=(map span (pair posture cord)) + |= awl+(map span (pair posture cord)) ^+ +> =+ dif=(sh-repo-house-diff harbor.she awl) =. harbor.she awl @@ -687,21 +687,22 @@ +>.$ :: ++ sh-note :: shell message - |= txt=tape + |= txt+tape ^+ +> (sh-fact %txt (runt [14 '-'] `tape`['|' ' ' (scag 64 txt)])) :: ++ sh-spaz :: print status - |= saz=status + |= saz+status ^- tape ['%' (trip p.saz)] :: ++ sh-repo-group-diff-here :: print atlas diff - |= $: pre=tape - $= cul - $: old=(list (pair ship status)) - new=(list (pair ship status)) - cha=(list (pair ship status)) + |= $^ + _: pre+tape + _= cul + _: old+(list (pair ship status)) + new+(list (pair ship status)) + cha+(list (pair ship status)) == == =. +>.$ @@ -723,14 +724,14 @@ +>.$ :: ++ sh-repo-group-here :: update local - |= loc=atlas + |= loc+atlas ^+ +> =+ cul=(sh-repo-atlas-diff p.owners.she loc) =. p.owners.she loc (sh-repo-group-diff-here "" cul) :: ++ sh-repo-group-there :: update foreign - |= yid=(map partner atlas) + |= yid+(map partner atlas) =+ day=(sh-repo-rogue-diff q.owners.she yid) =+ dun=q.owners.she =. q.owners.she yid @@ -758,14 +759,14 @@ +>.$ :: ++ sh-repo-group - |= ges=register + |= ges+register ^+ +> =. +> (sh-repo-group-here p.ges) =. +> (sh-repo-group-there q.ges) +> :: ++ sh-repo-gram - |= [num=@ud gam=telegram] + |= {num+@ud gam+telegram} ^+ +> ?: =(num count.she) =. +> ?:(=(0 (mod num 5)) (sh-numb num) +>) @@ -776,13 +777,13 @@ +> :: ++ sh-repo-grams :: apply telegrams - |= [num=@ud gaz=(list telegram)] + |= {num+@ud gaz+(list telegram)} ^+ +> ?~ gaz +> $(gaz t.gaz, num +(num), +> (sh-repo-gram num i.gaz)) :: ++ sh-repo-glyph :: apply binding - |= nac=(jug char (set partner)) + |= nac+(jug char (set partner)) ^+ +> %_ sh-prod nak nac @@ -794,19 +795,19 @@ == :: ++ sh-repo :: apply report - |= rad=report + |= rad+report ^+ +> :: ~& [%sh-repo rad] ?- -.rad - %cabal (sh-repo-cabal +.rad) - %grams (sh-repo-grams +.rad) - %glyph (sh-repo-glyph +.rad) :: XX ever happens? - %group (sh-repo-group +.rad) - %house (sh-repo-house +.rad) + $cabal (sh-repo-cabal +.rad) + $grams (sh-repo-grams +.rad) + $glyph (sh-repo-glyph +.rad) :: XX ever happens? + $group (sh-repo-group +.rad) + $house (sh-repo-house +.rad) == :: ++ sh-sane-chat :: sanitize chatter - |= buf=(list ,@c) + |= buf+(list @c) ^- (list sole-edit) ?~ buf ~ =+ [inx=0 sap=0 con=0] @@ -834,24 +835,24 @@ -- :: ++ sh-sane :: sanitize input - |= [inv=sole-edit buf=(list ,@c)] + |= {inv+sole-edit buf+(list @c)} ^- (list sole-edit) =+ res=(rose (tufa buf) sh-scad) - ?: ?=(| -.res) [inv ~] + ?: ?=($| -.res) [inv ~] =+ wok=`(unit work)`p.res |- ^- (list sole-edit) ?~ wok ~ ?+ -.u.wok ~ - %target $(wok q.u.wok) - %say |- :: XX per line + $target $(wok q.u.wok) + $say |- :: XX per line ?~ p.u.wok ~ - ?: ?=(%lin -.i.p.u.wok) + ?: ?=($lin -.i.p.u.wok) (sh-sane-chat buf) $(p.u.wok t.p.u.wok) == :: ++ sh-slug :: edit to sanity - |= lit=(list sole-edit) + |= lit+(list sole-edit) ^+ +> ?~ lit +> =^ lic say.she @@ -859,7 +860,7 @@ (sh-fact [%mor [%det lic] ~]) :: ++ sh-stir :: apply edit - |= cal=sole-change + |= cal+sole-change ^+ +> =^ inv say.she (~(transceive sole say.she) cal) =+ lit=(sh-sane inv buf.say.she) @@ -868,7 +869,7 @@ (sh-slug lit) :: ++ sh-lame :: send error - |= txt=tape + |= txt+tape (sh-fact [%txt txt]) :: ++ sh-whom :: current audience @@ -878,43 +879,43 @@ |=(a=partner [a *envelope %pending]) :: ++ sh-tell :: add command - |= cod=command + |= cod+command %_(+> coz [cod coz]) :: ++ sh-twig-head ^- vase :: eval data - !>(`[our=@p now=@da eny=@uvI]`[our.hid now.hid (shas %eny eny.hid)]) + !>(`{our+@p now+@da eny+@uvI}`[our.hid now.hid (shas %eny eny.hid)]) :: ++ sh-work :: do work - |= job=work + |= job+work ^+ +> =+ roy=(~(got by stories) man.she) =< work |% ++ work ?- -.job - %number (number +.job) - %leave (leave +.job) - %join (join +.job) - %eval (eval +.job) - %who (who +.job) - %what (what +.job) - %bind (bind +.job) - %invite (invite +.job) - %banish (banish +.job) - %author (author +.job) - %block (block +.job) - %create (create +.job) - %nick (nick +.job) - %set (wo-set +.job) - %unset (unset +.job) - %target (target +.job) - %probe (probe +.job) - %help help - %say (say +.job) + $number (number +.job) + $leave (leave +.job) + $join (join +.job) + $eval (eval +.job) + $who (who +.job) + $what (what +.job) + $bind (bind +.job) + $invite (invite +.job) + $banish (banish +.job) + $author (author +.job) + $block (block +.job) + $create (create +.job) + $nick (nick +.job) + $set (wo-set +.job) + $unset (unset +.job) + $target (target +.job) + $probe (probe +.job) + $help help + $say (say +.job) == :: ++ activate :: from %number - |= gam=telegram + |= gam+telegram ^+ ..sh-work =+ tay=~(. tr man.she (~(has in settings.she) %noob) gam) =. ..sh-work (sh-fact tr-fact:tay) @@ -924,10 +925,10 @@ (sh-fact %txt "see http://urbit.org/docs/user/talk") :: ++ glyph - |= idx=@ + |= idx+@ =< cha.ole %+ reel glyphs - |= [all=tape ole=[cha=char num=@]] + |= {all+tape ole+{cha+char num+@}} =+ new=(snag (mod idx (lent all)) all) =+ num=~(wyt in (~(get ju nak) new)) ?~ cha.ole [new num] @@ -936,7 +937,7 @@ [new num] :: ++ set-glyph - |= [cha=char lix=(set partner)] + |= {cha+char lix+(set partner)} =: nik (~(put by nik) lix cha) nak (~(put ju nak) cha lix) == @@ -947,7 +948,7 @@ == :: ++ join :: %join - |= pan=(set partner) + |= pan+(set partner) ^+ ..sh-work =. ..sh-work =+ (~(get by nik) pan) @@ -959,65 +960,65 @@ `loc(sources (~(uni in sources.loc) pan)) :: ++ leave :: %leave - |= pan=(set partner) + |= pan+(set partner) ^+ ..sh-work =+ loc=loc.system.she %^ sh-tell %design man.she `loc(sources (~(dif in sources.loc) pan)) :: ++ what :: %what - |= qur=$|(char (set partner)) ^+ ..sh-work + |= qur=_|(char (set partner)) ^+ ..sh-work ?^ qur =+ cha=(~(get by nik) qur) (sh-fact %txt ?~(cha "none" [u.cha]~)) =+ pan=(~(tap in (~(get ju nak) qur))) ?: =(~ pan) (sh-fact %txt "~") =< (sh-fact %mor (turn pan .)) - |=(a=(set partner) [%txt ]) :: XX ~(te-whom te man.she a) + |=(a+(set partner) [%txt ]) :: XX ~(te-whom te man.she a) :: ++ who :: %who - |= pan=(set partner) ^+ ..sh-work + |= pan+(set partner) ^+ ..sh-work =< (sh-fact %mor (murn (sort (~(tap by q.owners.she)) aor) .)) - |= [pon=partner alt=atlas] ^- (unit sole-effect) + |= {pon+partner alt+atlas} ^- (unit sole-effect) ?. |(=(~ pan) (~(has in pan) pon)) ~ =- `[%tan rose/[", " `~]^- leaf/~(ta-full ta man.she pon) ~] =< (murn (sort (~(tap by alt)) aor) .) - |= [a=ship b=presence c=human] ^- (unit tank) :: XX names + |= {a+ship b+presence c+human} ^- (unit tank) :: XX names ?- b - %gone ~ - %hear `>a< - %talk `>a< :: XX difference + $gone ~ + $hear `>a< + $talk `>a< :: XX difference == :: ++ bind :: %bind - |= [cha=char pan=(unit (set partner))] ^+ ..sh-work + |= {cha+char pan+(unit (set partner))} ^+ ..sh-work ?~ pan $(pan [~ ?~(active.she passive.she u.active.she)]) =+ ole=(~(get by nik) u.pan) ?: =(ole [~ cha]) ..sh-work (sh-note:(set-glyph cha u.pan) "bound {} {}") :: ++ invite :: %invite - |= [nom=span tal=(list partner)] + |= {nom+span tal+(list partner)} ^+ ..sh-work !! :: ++ block :: %block - |= [nom=span tal=(list partner)] + |= {nom+span tal+(list partner)} ^+ ..sh-work !! :: ++ author :: %author - |= [nom=span tal=(list partner)] + |= {nom+span tal+(list partner)} ^+ ..sh-work !! :: ++ banish :: %banish - |= [nom=span tal=(list partner)] + |= {nom+span tal+(list partner)} ^+ ..sh-work !! :: ++ create :: %create - |= [por=posture nom=span txt=cord] + |= {por+posture nom+span txt+cord} ^+ ..sh-work ?: (~(has in stories) nom) (sh-lame "{(trip nom)}: already exists") @@ -1030,7 +1031,7 @@ (join [[%& our.hid nom] ~ ~]) :: ++ reverse-folks - |= nym=span + |= nym+span ^- (list ship) %+ murn (~(tap by folks)) |= [p=ship q=human] @@ -1039,12 +1040,12 @@ [~ u=p] :: ++ nick :: %nick - |= [her=(unit ship) nym=(unit cord)] + |= {her+(unit ship) nym+(unit cord)} ^+ ..sh-work - ?: ?=([~ ~] +<) + ?: ?=({$~ $~} +<) %+ sh-fact %mor %+ turn (~(tap by folks)) - |= [p=ship q=human] + |= {p+ship q+human} :- %txt ?~ hand.q "{

}:" @@ -1059,7 +1060,7 @@ ?~ her %+ sh-fact %mor %+ turn (reverse-folks u.nym) - |= p=ship + |= p+ship [%txt "{

}: {}"] %= ..sh-work folks ?~ u.nym @@ -1068,32 +1069,32 @@ == :: ++ wo-set :: %set - |= seg=span + |= seg+span ^+ ..sh-work ?~ seg %+ sh-fact %mor %+ turn (~(tap in settings.she)) - |= s=span + |= s+span [%txt (trip s)] %= ..sh-work settings.she (~(put in settings.she) seg) == :: ++ unset :: %unset - |= neg=span + |= neg+span ^+ ..sh-work %= ..sh-work settings.she (~(del in settings.she) neg) == :: ++ target :: %target - |= [pan=(set partner) woe=(unit ^work)] + |= {pan+(set partner) woe+(unit ^work)} ^+ ..sh-work =. ..sh-pact (sh-pact pan) ?~(woe ..sh-work work(job u.woe)) :: ++ number :: %number - |= num=$|(@ud [p=@u q=@ud]) + |= num+_|(@ud {p+@u q+@ud}) ^+ ..sh-work =+ roy=(~(got by stories) man.she) |- @@ -1111,26 +1112,26 @@ (sh-lame "…{(reap p.num '0')}{(scow %ud q.num)}: no such telegram") :: ++ deli :: find number - |= [max=@ud nul=@u fin=@ud] ^- @ud + |= {max+@ud nul+@u fin+@ud} ^- @ud =+ dog=|-(?:(=(0 fin) 1 (mul 10 $(fin (div fin 10))))) =. dog (mul dog (pow 10 nul)) =- ?:((lte - max) - (sub - dog)) (add fin (sub max (mod max dog))) :: ++ probe :: inquire - |= cuz=station + |= cuz+station ^+ ..sh-work ~& [%probe cuz] ..sh-work :: ++ eval :: run - |= [txt=cord exe=twig] + |= {txt+cord exe+twig} => |.([(sell (slap (slop sh-twig-head seed) exe))]~) =+ tan=p:(mule .) (say [%fat tank/tan exp/txt] ~) :: ++ say :: publish - |= sep=(list speech) + |= sep+(list speech) ^+ ..sh-work ?~ sep ..sh-work =^ sir ..sh-work sh-uniq @@ -1161,20 +1162,20 @@ == :: ++ sh-sole :: apply edit - |= act=sole-action + |= act+sole-action ^+ +> ?- -.act - %det (sh-stir +.act) - %clr (sh-pact ~) - %ret sh-done + $det (sh-stir +.act) + $clr (sh-pact ~) + $ret sh-done == :: ++ sh-uniq - ^- [serial _.] + ^- [serial __(.)] [(shaf %serial eny.hid) .(eny.hid (shax eny.hid))] -- ++ ra-abed :: resolve core - ^- [(list move) _+>] + ^+ [*(list move) +>] :_ +> =+ ^= yop |- ^- (pair (list move) (list sole-effect)) @@ -1356,7 +1357,7 @@ ++ ra-console :: console subscribe |= [her=ship pax=path] ^+ +> - =+ man=`span`?~(pax (main her) ?>(?=(~ t.pax) i.pax)) + =+ man=`span`?~(pax (main her) ?>(?=($~ t.pax) i.pax)) =+ ^= she ^- shell [her man 0 *sole-share ~ [[%& our.hid man] ~ ~] [~ ~] ~ *cabal ~] sh-abet:~(sh-peer sh ~ she) @@ -1365,7 +1366,7 @@ |= [her=ship pax=path] ^+ +> :: ~& [%ra-subscribe ost.hid her pax] - ?: ?=(~ pax) + ?: ?=($~ pax) (ra-house(general (~(put in general) ost.hid)) ost.hid) ?. ?=([@ @ *] pax) (ra-evil %talk-bad-path) @@ -1647,7 +1648,7 @@ == =+ gub=(~(get by remotes) tay) :: ~& [%pa-remind tay gub buk] - ?. |(?=(~ gub) !=(buk u.gub)) + ?. |(?=($~ gub) !=(buk u.gub)) +>.$ =. remotes (~(put by remotes) tay buk) (pa-report-group groupers) @@ -1918,7 +1919,7 @@ =(p.p.pan our.hid) :: =+ sot=(~(get by stories) q.p.pan) - &(?=(^ sot) ?=(%brown p.cordon.shape.u.sot)) + &(?=(^ sot) ?=($brown p.cordon.shape.u.sot)) == :: ++ te-pref :: audience glyph @@ -2098,12 +2099,12 @@ ++ etch-friend :: |= [way=wire fun=$+([man=span cuz=station] [(list move) _+>])] =+ wer=(etch way) - ?>(?=(%friend -.wer) (fun p.wer q.wer)) + ?>(?=($friend -.wer) (fun p.wer q.wer)) :: ++ etch-repeat :: |= [way=wire fun=$+([num=@ud src=@p man=span] [(list move) _+>])] =+ wer=(etch way) - ?>(?=(%repeat -.wer) (fun p.wer q.wer r.wer)) + ?>(?=($repeat -.wer) (fun p.wer q.wer r.wer)) :: ++ reap-friend :: |= [way=wire saw=(unit tang)] diff --git a/lib/down-jet/parse.hoon b/lib/down-jet/parse.hoon index e4f628236..fa3b29386 100644 --- a/lib/down-jet/parse.hoon +++ b/lib/down-jet/parse.hoon @@ -4,15 +4,15 @@ :: =+ =~ |% -++ loca |*(a=_,* ,[p=@u q=a]) +++ loca |*(a+__(*) {p+@u q+a}) ++ stack (list (loca tops)) -- |% ++ htm-enty :: XX belongs in zuse ~+ - =- |= tub=nail ^- (like ,@t) %. tub :: export context + =- |= tub+nail ^- (like @t) %. tub :: export context =+(poxa enty(ent mapping)) - ^- mapping=(map span ,@tF) + ^- mapping+(map span @tF) =+ pax=/==5%%/html5-entities/json :: XX %%/ =+ maf=%.(pax ;~(biff file (soft json) (om so):jo)) ?^ maf u.maf @@ -40,7 +40,7 @@ view-source webcal wtai wyciwyg xfire xri ymsgr ''' :: -++ uri-skem (sear (flit |=(a=tape (~(has in skem-set) (cass a)))) skem-symb) +++ uri-skem (sear (flit |=(a+tape (~(has in skem-set) (cass a)))) skem-symb) -- :: :::: @@ -49,32 +49,32 @@ ++ nal (just `@`10) ++ end (full (easy ~)) ++ eol ;~(pose (cold ~ nal) end) -::++ match |=(a=rege (curr scan (ra a))) +::++ match |=(a+rege (curr scan (ra a))) :: ++ tab - |= tub=nail - ^- (like cord) - ?. ?=([%9 *] q.tub) + |= tub+nail + ^- (like cord) + ?. ?=({$9 *} q.tub) (fail tub) =+ sto=+((~(inv fe 1) (dec q.p.tub))) :: virt spaces produced =+ neu=(weld (reap sto ' ') t.q.tub) (next tub(q neu)) :: -++ whif |*(a=rule ;~(sfix a (star ace))) -++ ahed |*(a=rule ;~(simu a (easy ~))) -++ opts |*(a=rule ;~((bend) (easy ~) a)) -++ lots |*([a=@u b=rule] ;~(pfix (stun [a a] b) (star b))) -++ leas |*(a=rule ;~(pfix ;~(less (stun 4^4 ace) (stun 0^3 ace)) a)) +++ whif |*(a+rule ;~(sfix a (star ace))) +++ ahed |*(a+rule ;~(simu a (easy ~))) +++ opts |*(a+rule ;~((bend) (easy ~) a)) +++ lots |*({a+@u b+rule} ;~(pfix (stun [a a] b) (star b))) +++ leas |*(a+rule ;~(pfix ;~(less (stun 4^4 ace) (stun 0^3 ace)) a)) ++ pech - |* a=[rule rule] + |* a+{rule rule} |= tub=nail - ^- (like (each ,_(wonk (-.a)) ,_(wonk (+.a)))) + ^- (like (each __((wonk (-.a))) __((wonk (+.a))))) %. tub ;~(pose (stag %& -.a) (stag %| +.a)) :: ++ lite :: literal matched - |* a=rule - |= tub=nail ^- (like tape) + |* a+rule + |= tub+nail ^- (like tape) =+ vex=(a tub) ?~ q.vex vex =+ tap=q.q.u.q.vex @@ -85,24 +85,24 @@ [i.q.tub $(q.tub t.q.tub)] :: ++ enrule :: XX - |* a=$+(tape *) - |= tub=nail + |* a+_+(tape *) + |= tub+nail ^- (like a) [[0 0] ~ (a q.tub) [0 0] ~] -- == =~ |% ++ strip - |= [a=$+(nail edge) b=tape] + |= {a+_+(nail edge) b+tape} ^- tape =+ q:(a 1^1 b) ?~(- b q.q.u.-) :: ++ inli :: inline parsers =+ [bug=| rec="" nol=|] - |_ ref=(map cord ,[p=tape q=(unit tape)]) + |_ ref+(map cord {p+tape q+(unit tape)}) ++ unesc - |= a=tape + |= a+tape (scan a (star ;~(pose nore(rec ~) nal))) :: XX :: ++ esc @@ -114,26 +114,26 @@ ++ nore ~+ ;~(pose htm-enty norc) :: ++ trim-sp - |= a=tape + |= a+tape ^- tape %+ strip (star gah) (flop (strip (star gah) (flop a))) :: ++ child - =< |= tub=nail ^- (like inline) %. tub :: expose parsers - %+ cook |=(a=inline ~?(bug a a)) + =< |= tub+nail ^- (like inline) %. tub :: expose parsers + %+ cook |=(a+inline ~?(bug a a)) ;~(pose code line link blot:link htmt) |% ++ fens - |= a=tape + |= a+tape %+ knee *tape |. ~+ - |= tub=nail ^- (like tape) + |= tub+nail ^- (like tape) =+ vex=((plus tec) tub) ?~ q.vex (plug (codc tub) ^^$) ?: =(a p.u.q.vex) vex(p.u.q ~) - =+ neu=|=(b=tape (weld `tape`p.u.q.vex b)) + =+ neu=|=(b+tape (weld `tape`p.u.q.vex b)) ((cook neu ^^$) q.u.q.vex) :: ++ codc ;~(pose (cold ' ' (plus gah)) prn) @@ -141,16 +141,16 @@ =- ;~(pose - (stag %$ (plus tec))) %+ stag %code %+ cook trim-sp - |= tub=nail - ?. ?=([%'`' ^] q.tub) + |= tub+nail + ?. ?=({$'`' ^} q.tub) (fail tub) =+ vex=((plus tec) tub) (pfix vex (fens (wonk vex))) :: ++ madn - |= a=mane ^- ? - => |=(b=span ?=(^ (rush b ;~(plug alf (star aln))))) - ?@ a (. a) + |= a+mane ^- ? + => |=(b+span ?=(^ (rush b ;~(plug alf (star aln))))) + ?@ a (. a) &((. -.a) (. +.a)) :: ++ htmt @@ -159,11 +159,11 @@ %- sear :_ ;~(pose empt:poxa (pech [head tail]:poxa)) %- flit - |= a=$&([marx ~] $%([%& marx] [%| p=mane])) + |= a+_&({marx $~} _%({$& marx} {$| p+mane})) ?- -.a - ^ (madn n.a) - & (madn n.a) - | (madn p.a) + ^ (madn n.a) + {$&} (madn n.a) + {$|} (madn p.a) == :: ++ line @@ -171,38 +171,38 @@ ;~(plug ;~(pose (lots 2 ace) bas) nal) :: ++ empty - |= a=inline + |= a+inline ^- ? - ?& ?=(%$ -.a) - ?=(~ (strip (star ;~(pose ace nal)) p.a)) + ?& ?=($$ -.a) + ?=($~ (strip (star ;~(pose ace nal)) p.a)) == :: ++ link ::=+(blot=fail |=(nail (fail +<))) - =< =- |=(tub=nail (pra tub)) :: expose parsers + =< =- |=(tub+nail (pra tub)) :: expose parsers ?: nol pra=auto ::;~(pose auto pexp) =- pra=;~(pose auto (cook - apex)) - |=([a=kids b=[tape (unit tape)]] [[%link b] a]) + |=({a+kids b+{tape (unit tape)}} [[%link b] a]) |% ++ apex - =+ ^- rob=$+(nail (like ,[kids $|(cord [tape (unit tape)])])) + =+ ^- rob+_+(nail (like {kids _|(cord {tape (unit tape)})})) ;~(plug text(nol &) labe) :: - |= tub=nail - ^- (like (pair kids ,[tape (unit tape)])) + |= tub+nail + ^- (like (pair kids {tape (unit tape)})) :: (fail tub) =+ vex=(rob tub) ?~ q.vex vex =- ?~(rez vex(q ~) vex(+.p.u.q u.rez)) - ^- rez=(unit ,[tape (unit tape)]) + ^- rez+(unit {tape (unit tape)}) =+ [~ atr]=(wonk vex) ?^ atr `atr - ?. ?=(~ atr) + ?. ?=($~ atr) (~(get by ref) atr) =+ vux=(text:href tub) ?~ q.vux ~ - (~(get by ref) (wonk vux)) + (~(get by ref) (wonk vux)) :: ++ text =. rec ['[' ']' rec] @@ -212,17 +212,17 @@ ++ labe =+ wra=[;~(plug pel .) ;~(plug . per)]:(star gah) ;~ pose - (ifix wra ;~(plug dest:href titl)) + (ifix wra ;~(plug dest:href titl)) ;~(pfix (star gah) text:href) (easy '') == :: ++ blot %- cook :_ ;~(pfix zap [.(rob ;~(plug text labe))]:apex) - |=([a=kids b=[tape (unit tape)]] [[%blot b] a]) + |=({a+kids b+{tape (unit tape)}} [[%blot b] a]) :: ++ mail - %+ cook |=(_[a="" b='' c="" d=*wall] :(welp a b^c (zing d))) + %+ cook |=(__([a="" b='' c="" d=*wall]) :(welp a b^c (zing d))) ;~ plug (plus ;~(less (mask "\"\\ (),:;<>@[]") prn)) pat @@ -233,23 +233,23 @@ ++ auto %+ ifix gal^gar ;~ pose - (cook |=(a=tape [link/["mailto:{a}" ~] ~[`a]]) mail) + (cook |=(a+tape [link/["mailto:{a}" ~] ~[`a]]) mail) :: =+ cha=;~(pose htm-enty ;~(less (mask "<> ") prn)) %+ cook - |= a=_["" ""] + |= a+__(["" ""]) [link/[(weld a) ~] ~[`(weld a)]] ;~(plug uri-skem col (star cha)) == :: ++ pexp :: XX non-link nested %- cook :_ (ifix sel^ser many) - |=(a=kids (reso:many "[" (welp a `"]" ~))) + |=(a+kids (reso:many "[" (welp a `"]" ~))) -- -- :: ++ href - =< |= tub=nail %. tub :: expose parsers + =< |= tub+nail %. tub :: expose parsers ;~ plug ;~(sfix text col (star gah)) (sear (flit |=(tape ?=(^ +<))) dest) @@ -262,7 +262,7 @@ (pexp nore(rec " ")) == ++ pexp - |* cha=rule + |* cha+rule =+ chu=;~(less pel per cha) |- :: XX Chesterton fence %+ knee *tape |. ~+ @@ -274,13 +274,13 @@ ++ text =- (ifix sel^ser (cook cass (star -))) ;~ pose - (cook |=(a=char (cat 3 '\\' a)) esc) + (cook |=(a+char (cat 3 '\\' a)) esc) (cold ' ' (plus gah)) ;~(less sel ser prn) == ++ titl %. ~[soq^soq doq^doq pel^per] - |* a=(pole ,[rule rule]) + |* a+(pole {rule rule}) ?~ a fail ;~ pose (ifix -.a (star ;~(pose esc htm-enty ;~(less ->.a prn)))) @@ -288,29 +288,29 @@ == -- ++ consol - |= a=kids + |= a+kids ^- kids ?~ a ~ ?+ -.i.a [i.a $(a t.a)] - %$ + $$ ?~ t.a a - ?: ?=(_-.i.a -.i.t.a) + ?: ?=(__(-.i.a) -.i.t.a) $(a t.a(p.i (weld p.i.a p.i.t.a))) [i.a $(a t.a)] == - ++ pars :: XX + ++ pars :: XX => |% - ++ nufh ,[tape kids] - ++ fens ?(%'*' %'_') - ++ nuft ,[nufh ?(tape [tape ?(%| fens)])] + ++ nufh {tape kids} + ++ fens ?($'*' $'_') + ++ nuft {nufh ?(tape {tape ?($| fens)})} ++ reso - |= a=nufh + |= a+nufh ^- kids ?~ -.a +.a - [[%$ -.a] +.a] + [[%$ -.a] +.a] :: ++ veld - |= [a=$|(char inline) _[b c]=*nuft] + |= {a+_|(char inline) __([b c]=*nuft)} ^- nuft :_ c ?@ a @@ -320,22 +320,22 @@ [~ a (reso b)] :: ++ rend - |= nuf=nufh + |= nuf+nufh %. (reso nuf) - |= a=kids + |= a+kids ^- tape ?~ a ~ %- weld :_ $(a t.a) ?@ -.i.a ?+ -.i.a - ~ p.i.a + $~ p.i.a == =+ [p q]=i.a ?+ -.p "[{(trip -.p)}]<{$(a q)}>" - %emph "({$(a q)})" + $emph "({$(a q)})" == -- - |= tap=tape ^- kids + |= tap+tape ^- kids =. tap (trim-sp tap) =+ vex=(many 1^1 tap) ?~ q.vex @@ -344,15 +344,15 @@ ?~(b a (welp a [`b]~)) :: ++ many - => pars :: XX + => pars :: XX |= tub=nail ^- (like kids) =- [[0 0] ~ (reso -<) [0 0] ;;(tape ->)] :: XX - =+ [ins=`?(fens ~)`~ bof=| noz=|] + =+ [ins=`?(fens $~)`~ bof=| noz=|] ?~ q.tub [`~ ~] =+ [p=*char [i t]=[i t]:q.tub] :: prev current next - =< ?<(&(?=([* @] +) !?=(~ +>)) .) :: XX do type stuff + =< ?<(&(?=({* @} +) !?=($~ +>)) .) :: XX do type stuff |^ ^- nuft - ?: ?=(?(%'*' %'_') i) + ?: ?=(?($'*' $'_') i) dlim =+ elm=(;~(pose child ;~(pfix (star ace) nal) nore) [1 1] i t) ?~ q.elm @@ -363,7 +363,7 @@ :: ++ next (push i) ++ push :: continue with head - |= a=$|(char inline) + |= a+_|(char inline) ^- nuft ~? ?@(a | bug) fon/a ?~ t (veld a done) @@ -386,26 +386,26 @@ $(+<+ t) :: ++ flome - |= a=_+:*nuft - ^- [(unit ?(%| fens)) tape] - ?. ?=([* ?(%| fens)] a) + |= a=__(+:*nuft) + ^- {(unit ?($| fens)) tape} + ?. ?=({* ?($| fens)} a) [~ a] [[~ +.a] -.a] :: ++ empa - |= a=nufh + |= a+nufh ^- inline [[%emph |] (reso a)] :: ++ ends - |= [a=tape b=tape] + |= {a+tape b+tape} ?: &(?=(^ b) =(i i.b)) $(b t.b) ?: &(?=(^ a) =(i i.a)) $(a t.a) ?> ?=(fens i) :: XX do type stuff - ?& |(?=(~ b) !=(' ' i.b)) - |(=('*' i) [?=(~ q)]:(aln 1^1 a)) + ?& |(?=($~ b) !=(' ' i.b)) + |(=('*' i) [?=($~ q)]:(aln 1^1 a)) == :: ++ dlim @@ -422,7 +422,7 @@ ?. (ends [p]~ t) next =+ [a tak]=pull - => .(t `_""`t) :: XX do type stuff + => .(t `__("")`t) :: XX do type stuff =^ b t (flome tak) ?~ b (push (empa a)) @@ -440,26 +440,26 @@ :::: :: |% -++ nesting $% [%bloq *] :: Used for fishing - [%item *] - [%list [%item ~]] +++ nesting _% {$bloq *} :: Used for fishing + {$item *} + {$list {$item $~}} == -++ accepting ?(%para %code) +++ accepting ?($para $code) ++ list-nest :: can add list item? - =+ sam=[?>(?=(%list -.p..) p..)]:(tops [%list ~]~) :: XX do type stuff - |= [a=_sam b=_sam] ^- ? + =+ sam=[?>(?=($list -.p..) p..)]:(tops [%list ~]~) :: XX do type stuff + |= {a+__(sam) b+__(sam)} ^- ? .= ?@(q.a q.a q.q.a) :: by checking delimiter characters ?@(q.b q.b q.q.b) - +:: :: =- =((cha p.a) (cha p.b)) :: ^= cha :: |= a=_sam :: ?@(q.a q.a q.q.a) :: ++ closes-code - =+ sam=[?>(?=(%code -) p..)]:(node [%code ~]) :: XX do type stuff - |= [a=_sam b=_sam] - ?~ a ?=(~ b) + =+ sam=[?>(?=($code -) p..)]:(node [%code ~]) :: XX do type stuff + |= {a+__(sam) b+__(sam)} + ?~ a ?=($~ b) ?~ b | ?^ r.u.b | ?& =(p.u.a p.u.b) @@ -467,18 +467,18 @@ == :: ++ blank - |= a=tape ^- ? + |= a+tape ^- ? ?~ a & &(=(' ' i.a) $(a t.a)) :: ++ dehax :: strip trailing hax =+ nobas=;~(sfix (plus hax) ;~(pose ace end)) - |= a=tape + |= a+tape %- flop :(strip nobas (star ace) (flop a)) :: ++ scab - |* [a=tape b=rule] + |* {a+tape b+rule} (wonk (b [1 1] a)) :: ++ donp @@ -503,12 +503,13 @@ == ++ leaf (leas ;~(pose head hrul fcode)) :: any node ++ head - %+ cook |=(a=tape [%head (lent a) ~]) + %+ cook |=(a+tape [%head (lent a) ~]) ;~(sfix (stun 1^6 hax) ;~(pose ace (ahed eol))) + :: ++ hrul %+ cold [%hrul ~] %. ~[tar hep cab] :: (vary "*-_") - |* a=(pole rule) + |* a+(pole rule) ?~ a fail ;~(pose ;~(plug (lots 3 (whif -.a)) (ahed eol)) $(a +.a)) :: @@ -538,7 +539,7 @@ ++ icode (cold `node`[%code ~ ~] (stun 4^4 ace)) ++ fcode %. ~['`' '~'] :: (vary "`~") - |* a=(pole char) + |* a+(pole char) ?~ a fail =- ;~(pose fel $(a +.a)) ^= fel @@ -547,33 +548,33 @@ (star ;~(less tec prn)) (ahed eol) == - |= [b=(list) c=tape ~] - ^+ [?>(?=(%code -) .)]:*node :: XX do type stuff + |= {b+(list) c+tape $~} + ^+ [?>(?=($code -) .)]:*node :: XX do type stuff [%code `[-.a (add 3 (lent b)) c] ~] -- :: ++ normalize |= a=down ^- down - %+ turn a |= b=elem + %+ turn a |= b+elem ?^ -.b b(q (turn q.b ..$)) - =- ?+(-.b b %para b(p (- p.b)), %head b(q (- q.b))) + =- ?+(-.b b $para b(p (- p.b)), $head b(q (- q.b))) |= c=kids ^- kids ?~ c ~ ?: ?& ?=(^ t.c) - ?=(%$ -.i.c) - ?=(%$ -.i.t.c) + ?=($$ -.i.c) + ?=($$ -.i.t.c) == $(c t.c(p.i (weld p.i.c p.i.t.c))) =. i.c - ?.(?=(%$ -.i.c) i.c [%$ (trip (crip p.i.c))]) :: XX valid tapes + ?.(?=($$ -.i.c) i.c [%$ (trip (crip p.i.c))]) :: XX valid tapes :_ $(c t.c) ?@ -.i.c i.c =* d q.i.c ?~ d i.c - ?. ?& ?=([* ~] d) - ?=([%emph %|] -.i.c) - ?=([%emph %|] -.i.d) + ?. ?& ?=({* $~} d) + ?=({$emph $|} -.i.c) + ?=({$emph $|} -.i.d) == i.c(q $(c d)) [[%emph %&] $(c q.i.d)] @@ -581,18 +582,19 @@ ++ parseb =>(parse .(bug &)) ++ parse =+ [bug=| bugi=|] - |= tub=nail + |= tub+nail =. q.tub %+ scan q.tub :: tab hackery :: XX per line (star ;~(pose prn tab nal)) - =| $: $: top=down :: finished toplevel elements - [sap=@u nod=node] :: spacing, currrent leaf block - cur=stack :: stack of nested current blocks + =| $^ + _: _: top+down :: finished toplevel elements + {sap+@u nod+node} :: spacing currrent leaf block + cur+stack :: stack of nested current blocks == - [bun=_| hat=_|] :: prev blank? halt? - ref=(map cord ,[p=tape q=(unit tape)]) :: link references + {bun+__(|) hat+__(|)} :: prev blank? halt? + ref+(map cord {p+tape q+(unit tape)}) :: link references == - |^ ^- (like ,_top) + |^ ^- (like __(top)) ?. hat $:eat-line ?^ cur @@ -608,33 +610,33 @@ ++ debu [&2 &2.-]:&2 :: ++ proc-inline :: parse inline kids - |= pac=_pars:inli :: cache - |= a=elem + |= pac+__(pars:inli) :: cache + |= a+elem ?^ -.a a(q (flop (turn q.a ..$))) ?+ -.a a - %code + $code ?~ p.a a a(r.u.p (unesc:inli r.u.p.a)) - %para - ?> ?=([[%$ *] ~] p.a) :: XX do type stuff + $para + ?> ?=({{$$ *} $~} p.a) :: XX do type stuff a(p (pac p.i.p.a)) - %head + $head ?~ q.a a - ?> ?=([[%$ *] ~] q.a) :: XX do type stuff + ?> ?=({{$$ *} $~} q.a) :: XX do type stuff a(q (pac p.i.q.a)) == :: ++ snack :: advance by parser - |* a=rule - ^- [(unit ,_(wonk (a))) nail] + |* a+rule + ^- {(unit __((wonk (a)))) nail} =+ vex=(a tub) ?~ q.vex [~ tub] [`p q]:u.q.vex :: ++ snake :: advance with trace - |* fel=rule + |* fel+rule =- (snack (here - fel)) - |*([[[@ a=@u] [@ b=@u]] c=*] [p=(sub b a) q=c]) + |*({{{@ a+@u} {@ b+@u}} c+*} [p=(sub b a) q=c]) :: :: ++ pop :: resolve container @@ -647,7 +649,7 @@ ^- hed=tops =+ cub=q.i.cur ?+ -.p.cub cub - %list + $list %_ cub p.p p.p.cub :: XX set this upon parsing blank-headed block @@ -660,13 +662,13 @@ ^+ self =^ nol nod [nod [%defn ~]] - ?: ?=(%defn -.nol) self + ?: ?=($defn -.nol) self ~? > bug clod/[nol tub] ?~ cur self(top [nol top]) self(q.q.i.cur [nol q.q.i.cur]) :: ++ pop-til :: unwind stack - |= a=stack + |= a+stack ^+ self ?~ cur self ?: =(a cur) self @@ -676,14 +678,14 @@ =+ laz=cur |- ?~ cur laz - =. laz ?:(?=(%list -.p.q.i.cur) cur laz) + =. laz ?:(?=($list -.p.q.i.cur) cur laz) $(cur t.cur) :: ++ top-bloq =+ laz=cur |- ?~ cur laz - =. laz ?:(?=(%bloq -.p.q.i.cur) cur laz) + =. laz ?:(?=($bloq -.p.q.i.cur) cur laz) $(cur t.cur) -- :: @@ -692,23 +694,23 @@ ^+ self =. sap 0 ?+ -.nod self - %html + $html self(p.nod (flop p.nod)) - %code + $code =< self(q.nod (flop q.nod)) |- ?^ p.nod . ?~ q.nod . ?: (blank (trip i.q.nod)) $(q.nod t.q.nod) . - %para + $para ?~ p.nod self(nod [%defn ~]) =+ olt=tub =. q.tub =- (trip (role -)) %+ turn - ;;((list ,[%$ p=tape]) (flop p.nod)) :: XX do type stuff - |=([@ a=tape] (crip a)) + ;;((list {$$ p+tape}) (flop p.nod)) :: XX do type stuff + |=({@ a+tape} (crip a)) |- ^+ self =^ ren tub (snack (leas href):inli) ?^ ren @@ -720,16 +722,16 @@ == :: ++ push :: open block - |= nit=(loca ,_p:*tops) ^+ +> + |= nit+(loca __(p:*tops)) ^+ +> =. self cull =+ toz=[q.nit ~] - ?. ?=([%list ^] q.nit) + ?. ?=({$list ^} q.nit) (shove p.nit toz) =. self (shove p.nit toz) (shove p.nit [%item ~]~) :: ++ shove - |= a=(loca tops) ^+ +> + |= a+(loca tops) ^+ +> ?~ cur +>(cur [a cur]) :: =* cub q.i.cur ?. ?=(nesting [-.p.q.i.cur -.q.a]) @@ -737,20 +739,20 @@ +>(cur [a cur]) :: ++ pump :: push leaf block - |= a=$&([p=node q=@u] node) + |= a+_&({p+node q+@u} node) ^+ +> =+ nex=cull ?@ -.a nex(nod a) nex(nod p.a, sap q.a) :: ++ match :: check top element - |= a=elem ^- ? + |= a+elem ^- ? ?~ cur | =(-.a -.q.i.cur) :: :: ++ collapse :: skim elems off top - |= a=(list (pair ,@ tops)) ^+ +> + |= a+(list (pair @ tops)) ^+ +> ?~ a +> :: ?: ?=([[@ *] ~] a) +> ~? bug yank/[i.a blos] @@ -762,55 +764,55 @@ ++ offset ^- @u ?~ cur 0 - ?: ?=(%bloq -.p.q.i.cur) + ?: ?=($bloq -.p.q.i.cur) p.i.cur offset(cur t.cur) :: ++ delist (pop-til top-list):bye ++ debloq - |= ruc=_(flop cur) + |= ruc+__((flop cur)) ^+ self ?~ ruc self - ?. ?=(%bloq -.p.q.i.ruc) + ?. ?=($bloq -.p.q.i.ruc) $(ruc t.ruc) (collapse (flop ruc)) :: ++ nil-li - ?& ?=(%defn -.nod) + ?& ?=($defn -.nod) ?=(^ cur) - ?=([[%item ~] ~] q.i.cur) + ?=({{$item $~} $~} q.i.cur) == ++ widen ^+ cur :: list loosening =< ?~ cur ~ - ?. ?=(%item -.p.q.i.cur) + ?. ?=($item -.p.q.i.cur) (. cur) [i.cur (. t.cur)] - |= a=_cur ^+ a + |= a=__(cur) ^+ a ~? > bug naro/[debu nil-li a cur] ?~ a a - ?: ?=([[%item ~] ~] q.i.a) + ?: ?=({{$item $~} $~} q.i.a) a - ?. ?=(%list -.p.q.i.a) + ?. ?=($list -.p.q.i.a) [i.a $(a t.a)] a(p.p.q.i |) :: ++ blos :: extract elem list - (flop (turn cur |*([@ a=tops] a))) + (flop (turn cur |*({@ a+tops} a))) :: ++ eat-line :: high-level line nom ^+ . ~? >> bug line/curlin :: => [bup=bun sepa:eat] - :: ?: bun:+ + :: blank line nommed + :: ?: bun:+ + :: blank line nommed :: =< .(bun |) :: =. bun bup ~? bug line-stat/[debu cur] - ?: ?=(%html -.nod) + ?: ?=($html -.nod) =+ sep=(sepa:eat) ?: bun.sep sep span:eat.+ => [ruc .]=olds:eat - ?: &(?=(~ ruc) ?=([%code ^ *] nod)) + ?: &(?=($~ ruc) ?=({$code ^ *} nod)) code:eat =+ sep=(sepa:eat ruc) ?: bun.sep @@ -831,8 +833,8 @@ ++ eat |% ++ sepa :: consume blank line - |= ruc=_(flop cur) ^+ self - ?: ?=([%code ^ *] nod) :: ignore in blocks + |= ruc+__((flop cur)) ^+ self + ?: ?=({$code ^ *} nod) :: ignore in blocks self =^ buf tub (snack ;~(sfix (star ace) nal)) ?~ buf @@ -844,9 +846,9 @@ =. bun & (debloq ruc) ?+ -.nod self - %para cull - %html cull - %code =- self(q.nod -) + $para cull + $html cull + $code =- self(q.nod -) ?~ q.nod q.nod [(crip (slag 4 u.buf)) q.nod] == @@ -865,20 +867,21 @@ ?~ ruc [ruc self] ~? bug heat/[debu q.i.ruc cur] ?- -.p.q.i.ruc - %bloq + $bloq =^ neu tub (snack blomar:donp) ?^ neu $(ruc t.ruc, ovs p.i.ruc) [ruc self] - %list + :: + $list ?~ t.ruc !! :: $(t.ruc [p.i.ruc [%item ~] ~]~) :: XX why this - ?> ?=(%item -.p.q.i.t.ruc) + ?> ?=($item -.p.q.i.t.ruc) ~? bug leat/[p.i.t.ruc debu] =^ den tub (snack (stun [p p]:i.t.ruc ace)) ?^ den $(ruc t.t.ruc) - ?. =(self horz) [ruc self] :: XX efficiency - ?: ?=([%code ^ *] nod) - [~ self] :: XX correct? + ?. =(self horz) [ruc self] :: XX efficiency + ?: ?=({$code ^ *} nod) + [~ self] :: XX correct? =^ neu tub (snake limar:donp) ?~ neu [ruc self] => .(q.u.neu ^+(p.q.i.ruc q.u.neu)) :: XX do type stuff @@ -887,17 +890,18 @@ [~ (push u.neu)] =. self (collapse (flop t.ruc)) [~ (push p.u.neu [%item ~])] - %item + :: + $item !! == :: - ++ aces |=(a=@u ^+(tub +:(snack (stun 0^a ace)))) :: nom optional leading + ++ aces |=(a+@u ^+(tub +:(snack (stun 0^a ace)))) :: nom optional leading :: ++ lazy :: errant prev bloqs - |= ruc=(list (pair ,@ tops)) + |= ruc+(list (pair @ tops)) ^+ self ~? bug laze/[debu ruc] - ?. ?=(%para -.nod) + ?. ?=($para -.nod) (collapse (flop ruc)) ?: |([?=(^ -)]:lead [?=(^ -)]:(snack leaf:donp)) :: XX efficiency (collapse (flop ruc)) @@ -930,14 +934,14 @@ ^+ self ~? bug neat/curlin ::=. self ?.(bun self cull) - ?^ [q]:((leas htm-head):donp tub) :: XX efficiency - (pump [%html ~]) + ?^ [q]:((leas htm-head):donp tub) :: XX efficiency + (pump [%html ~]) =+ ^= hez %+ stag %heas - ?. ?=([%para [%$ *] ~] nod) + ?. ?=({$para {$$ *} $~} nod) fail ;~(plug setext:donp (cold p.nod (ahed eol))) - =+ ico=?:(?=(%para -.nod) fail icode:donp) + =+ ico=?:(?=($para -.nod) fail icode:donp) =+ saf=q.p.+:(snack (star ace)) :: XX efficiency =^ neu tub (snack ;~(pose hez ico leaf:donp)) @@ -946,21 +950,21 @@ ?.(bun cur widen) ?~ neu =. tub +:(snack (star ace)) - ?. ?=(%para -.nod) + ?. ?=($para -.nod) cull self ?+ -.u.neu (pump u.neu) - %heas self(nod u.neu(- %head)) :: replace extant para - %code ?^ p.u.neu + $heas self(nod u.neu(- %head)) :: replace extant para + $code ?^ p.u.neu (pump u.neu (dec saf)) - ?: ?=([%code ~ *] nod) + ?: ?=({$code $~ *} nod) self (pump u.neu) == :: ++ code ^+ self - ?> ?=([%code ^ *] nod) :: XX do type stuff + ?> ?=({$code ^ *} nod) :: XX do type stuff ~? bug ceas/[sap] =. tub (aces sap) =+ [neu tup]=(snack ;~(sfix (leas fcode):donp eol)) @@ -983,15 +987,15 @@ |- ?~ u.lin ?+ -.nod cull - %code self - %html self(p.nod ['' p.nod]) + $code self + $html self(p.nod ['' p.nod]) == ?+ -.nod (pump para/~[`u.lin]) - %para self(p.nod :_(p.nod `u.lin)) - %head ?^ q.nod $(self cull) + $para self(p.nod :_(p.nod `u.lin)) + $head ?^ q.nod $(self cull) self(q.nod [`(dehax u.lin)]~) - %code self(q.nod :_(q.nod (crip u.lin))) - %html self(p.nod :_(p.nod (crip u.lin))) + $code self(q.nod :_(q.nod (crip u.lin))) + $html self(p.nod :_(p.nod (crip u.lin))) == :: -- diff --git a/lib/down-jet/rend.hoon b/lib/down-jet/rend.hoon index 991ab9d0b..65464469c 100644 --- a/lib/down-jet/rend.hoon +++ b/lib/down-jet/rend.hoon @@ -4,46 +4,46 @@ :: |% ++ into-inner - |= [a=marl b=manx] + |= {a+marl b+manx} ?~ c.b b(c a) $(b i.c.b) :: ++ flat - |= a=marl + |= a+marl ^- tape ?~ a ~ %- weld :_ $(a t.a) ^- tape ?~ n.g.i.a - ?>(?=(_:/(**) i.a) v.i.a.g.i.a) + ?>(?=(__(:/(**)) i.a) v.i.a.g.i.a) ?+ n.g.i.a $(a c.i.a) - %img + $img %- zing ^- wall - %+ murn a.g.i.a |= [a=mane b=tape] + %+ murn a.g.i.a |= {a+mane b+tape} ^- (unit tape) ?+ a ~ - %alt [~ b] + $alt [~ b] == == ++ sanitize - |= a=marl ^- tape + |= a+marl ^- tape =- (zing `wall`(scan (flat a) fel)) =< fel=;~(sfix (star ;~(plug (cold '-' -) (plus +))) (star next)) - [(star ;~(less aln prn)) ;~(pose nud low (cook |=(a=@ (add a ' ')) hig))] + [(star ;~(less aln prn)) ;~(pose nud low (cook |=(a+@ (add a ' ')) hig))] :: ++ sang :: tight item children - |= a=(list elem) + |= a+(list elem) ^- marl ?~ a ~ %- weld :_ $(a t.a) - ?. ?=(%para -.i.a) + ?. ?=($para -.i.a) (sing i.a ~) (sung p.i.a) :: ++ sing :: elem to manx => |% ++ first-word - |= a=tape + |= a+tape =. a (trip (crip a)) :: XX valid tapes ^- (unit tape) =. a q.q:(need q:((star ace) [1 1] a)) @@ -52,7 +52,7 @@ (some (wonk vex)) -- =+ [tig=| had=*(unit mane)] - |= lum=(list elem) + |= lum+(list elem) |^ ^- marl =+ a=apex ?~ q.a @@ -60,12 +60,12 @@ (weld p.a $(lum q.a)) :: ++ apex - ^- [p=marl q=_lum] + ^- {p+marl q+__(lum)} ?~ lum ?~ had [~ ~] (lose "unclosed {}") => [ele=i.lum .(lum t.lum)] - ?. ?=(%html -.ele) + ?. ?=($html -.ele) (push (reso ele) ~) :: begin reparsing of html that the spec jankily lets through :: =+ tex=(trip (role p.ele)) @@ -90,45 +90,45 @@ (lose "close {}") :: end reparsing of html that the spec jankily lets through :: :: - ++ lose |=(a=tape [[;lost:"{a}"]~ lum]) + ++ lose |=(a+tape [[;lost:"{a}"]~ lum]) ++ chomp - |* [tap=tape fel=rule] - ^- [(unit ,_(wonk *fel)) _lum] + |* {tap+tape fel+rule} + ^- {(unit __((wonk *fel))) __(lum)} =+ vex=(fel 1^1 tap) ?~ q.vex [~ lum] :- [~ (wonk vex)] ?~(q.q.u.q.vex lum [[%html (lore (crip q.q.u.q.vex))] lum]) :: ++ push - |= a=marl + |= a+marl ^+ apex ?~ a apex [[b p] q]:[b=i.a (push t.a)] :: ++ reso - |= a=elem + |= a+elem ?^ -.a - =. tig ?.(?=(%list -.p.a) tig p.p.a) - ?: &(tig ?=(%item -.p.a)) + =. tig ?.(?=($list -.p.a) tig p.p.a) + ?: &(tig ?=($item -.p.a)) [/li (sang q.a)] %+ into-inner ^$(lum q.a) ?- -.p.a - %bloq ;blockquote; - %item ;li; - %list ?@ q.p.a ;ul; + $bloq ;blockquote; + $item ;li; + $list ?@ q.p.a ;ul; ?: =(1 p.q.p.a) ;ol; =+ num=(pojo (jone p.q.p.a)) ;ol(start num); == ?- -.a :: :/("unimplemented {}") - %html !! :: handled earlier XX do type stuff - %para [/p (sung p.a)] - %head + $html !! :: handled earlier XX do type stuff + $para [/p (sung p.a)] + $head =+ [hed=(add %h0 (lsh 3 1 p.a)) kid=(sung q.a)] [[hed id/(sanitize kid) ~] kid] :: - %hrul ;hr; - %meta =+ jon=`json`o/(~(run by p.a) |=(cord s/+<)) + $hrul ;hr; + $meta =+ jon=`json`o/(~(run by p.a) |=(cord s/+<)) ;meta(value "{(pojo jon)}", name "frontmatter", urb_front ""); :: %html ::=+ tex=(role (turn p.a crip)) @@ -138,17 +138,17 @@ ::?^ - :/(~) ::;lost: {} :: :/([(role (turn p.a crip))]~) :: XX haaaaaaack - %defn :/(~) - %code =+ lan=?~(p.a ~ (first-word r.u.p.a)) + $defn :/(~) + $code =+ lan=?~(p.a ~ (first-word r.u.p.a)) =+ tex=(trip (role q.a)) ?~ lan ;pre:code:"{tex}" ;pre:code(class "language-{u.lan}"):"{tex}" == -- -:: +:: ++ sung - |= lim=kids + |= lim+kids =+ had=*(unit mane) |^ ^- marl =+ a=apex @@ -157,14 +157,14 @@ (weld p.a $(lim q.a)) :: ++ apex - ^- [p=marl q=_lim] + ^- {p+marl q+__(lim)} ?~ lim ?~ had [~ ~] (lose "unclosed {}") => [ele=i.lim .(lim t.lim)] - ?. ?=(%htmt -.ele) - ?: &(?=(%$ -.ele) ?=([[%$ *] *] lim)) - apex(p.i.lim (weld p.ele p.i.lim)) + ?. ?=($htmt -.ele) + ?: &(?=($$ -.ele) ?=({{$$ *} *} lim)) + apex(p.i.lim (weld p.ele p.i.lim)) (push (reso ele) ~) =+ tex=(trip p.ele) =^ emo lim (chomp tex empt:poxa) @@ -185,25 +185,25 @@ (lose "unclosed {}") (lose "unopened {}") :: - ++ lose |=(a=tape [[;lost:"{a}"]~ lim]) + ++ lose |=(a+tape [[;lost:"{a}"]~ lim]) ++ chomp - |* [tap=tape fel=rule] - ^- [(unit ,_(wonk *fel)) _lim] + |* {tap+tape fel+rule} + ^- {(unit __((wonk *fel))) __(lim)} =+ vex=(fel 1^1 tap) ?~ q.vex [~ lim] :- [~ (wonk vex)] ?~(q.q.u.q.vex lim [[%htmt (crip q.q.u.q.vex)] lim]) :: ++ push - |= a=marl + |= a+marl ^+ apex ?~ a apex [[b p] q]:[b=i.a (push t.a)] :: ++ urly - |= a=tape ^- tape + |= a+tape ^- tape ?~ a ~ - :: ?: (gth i.a 0xff) "XX" :: XX + :: ?: (gth i.a 0xff) "XX" :: XX ?: ?| [?=(^ q)]:(alp 1^1 a) (~(has in (sa "!*'();:@&=+$,/?#%.~_")) i.a) :: XX reparse == @@ -211,16 +211,16 @@ (weld (urle (trip i.a)) $(a t.a)) :: ++ reso - |= b=inline + |= b+inline ^- manx ?@ -.b ?- -.b - %$ :/(p.b) - %line ;br; - %code ;code:"{p.b}" - %htmt !! ::p.b :: handled earlier :: XX do type stuff + $$ :/(p.b) + $line ;br; + $code ;code:"{p.b}" + $htmt !! ::p.b :: handled earlier :: XX do type stuff == - ?: ?=(%blot -.p.b) + ?: ?=($blot -.p.b) =+ res=`manx`;img(src (urly p.p.b), alt (flat (turn q.b ..$))); :: ;img@"{p.p.b}"; ?~ q.p.b res @@ -228,12 +228,12 @@ =+ kid=(sung q.b) %+ into-inner kid ?- p.b - [%emph ?] ?.(p.p.b ;em; ;strong;) - [%delt ~] ;del; - [%link ^] =+ url=(urly p.p.b) - =. url ?^(url url "#{(sanitize kid)}") - ?~ q.p.b ;a/"{url}"; - ;a/"{url}"(title u.q.p.b); + {$emph ?} ?.(p.p.b ;em; ;strong;) + {$delt $~} ;del; + {$link ^} =+ url=(urly p.p.b) + =. url ?^(url url "#{(sanitize kid)}") + ?~ q.p.b ;a/"{url}"; + ;a/"{url}"(title u.q.p.b); == -- -- diff --git a/lib/oct4.hoon b/lib/oct4.hoon index e7efb507d..494210008 100644 --- a/lib/oct4.hoon +++ b/lib/oct4.hoon @@ -20,7 +20,7 @@ (rip 4 0wl04h0.4A0Aw.4A00s.0e070) :: with bitmasks -- :: ++ go :: play from - |_ [src=ship game] :: + |_ {src+ship game} :: ++ at |_ point :: per point ++ g `game`+>+<+ :: game ++ k &(!|(x o) ept) :: legal move @@ -45,7 +45,7 @@ ++ res ?. |(~(win bo box) ~(win bo boo)) :: possible result ?: =(511 (con boo box)) :: `"tie :-(" ~ `"{} wins" :: - ++ row |= y=@ :- (add y '1') %- zing :: print row + ++ row |= y+@ :- (add y '1') %- zing :: print row (turn (gulf 0 3) |=(@ ~[' ' ~(v at y +<)])) :: ++ str =+ [own ~[(icon who)]] ^- tape :: print player ?~(-< -> (scow %p u.-<)) :: diff --git a/lib/react.hoon b/lib/react.hoon index c7edba307..a0487afc1 100644 --- a/lib/react.hoon +++ b/lib/react.hoon @@ -119,12 +119,12 @@ ", " =- (pojo (jobe (turn a.g.src -))) |= {a+mane b+tape} - =. a ?+(a a %class 'className') + =. a ?+(a a $class 'className') ?^(a !! [a (jape b)]) ", " =< ~(ram re %rose [", " "[" "]"] (turn c.src .)) |= a+manx - ?: ?=(_:/(**) a) + ?: ?=(__(:/(**)) a) leaf/(pojo (jape v.i.a.g.a)) leaf/^$(src a) ")" diff --git a/mar/cloud/auth.hoon b/mar/cloud/auth.hoon index 695a9b6b1..af179c42f 100644 --- a/mar/cloud/auth.hoon +++ b/mar/cloud/auth.hoon @@ -4,11 +4,11 @@ :: /? 310 !: -|_ cod=cord +|_ cod+cord :: ++ grab :: converter arm |% - ++ noun ,@t :: clam from noun + ++ noun @t :: clam from noun ++ json (cork (ot authcode/so platform/so ~):jo need) :: (need (so:jo jon)) -- -- diff --git a/mar/cloud/secret.hoon b/mar/cloud/secret.hoon index 3cdf63110..c7632c3f4 100644 --- a/mar/cloud/secret.hoon +++ b/mar/cloud/secret.hoon @@ -1,9 +1,9 @@ !: -|_ cod=cord +|_ cod+cord :: ++ grab :: converter am |% - ++ noun ,@t :: clam from noun - ++ json (cork (ot secret/so platform/so ~):jo need) :: (need (so:jo jon)) + ++ noun @t :: clam from noun + ++ json (cork (ot secret/so platform/so ~):jo need) -- -- diff --git a/mar/dill/belt.hoon b/mar/dill/belt.hoon index 5bfaf8e26..968d92c7e 100644 --- a/mar/dill/belt.hoon +++ b/mar/dill/belt.hoon @@ -18,7 +18,7 @@ %. jon => jo %- ot :~ mod/(cu ^sa (ar (su (perk ~[%ctrl %shift %alt %meta])))) :- %key - %+ cu |*(a=$%([%str @t] [%act @]) ?+(-.a a %str +.a)) + %+ cu |*(a+_%({$str @t} {$act @}) ?+(-.a a $str +.a)) =- (of str/so act/(su (perk -)) ~) :~ %ctrl %shift %alt %meta %entr %esc %caps %uncap %pgup %pgdn %home %end %baxp %del %ins @@ -39,19 +39,19 @@ =+ cha=(tuba (trip q.kev)) ?> ?=({@ $~} cha) :: of a single character ?+ mod !! :: modified by one buckykey - {$ctrl ~ ~} [%ctl i.cha] - {$alt ~ ~} [%met i.cha] + {$ctrl $~ $~} [%ctl i.cha] + {$alt $~ $~} [%met i.cha] == ?@ q.kev [%txt (tuba (trip q.kev))] ?+ +.q.kev !! - %del [%del ~] - %baxp [%bac ~] - %entr [%ret ~] - %up [%aro %u] - %down [%aro %d] - %left [%aro %l] - %right [%aro %r] + $del [%del ~] + $baxp [%bac ~] + $entr [%ret ~] + $up [%aro %u] + $down [%aro %d] + $left [%aro %l] + $right [%aro %r] == :: %yow, %rez? :: ++ noun dill-belt :: clam from %noun diff --git a/mar/oct4/move.hoon b/mar/oct4/move.hoon index 598af6426..c0327755e 100644 --- a/mar/oct4/move.hoon +++ b/mar/oct4/move.hoon @@ -5,7 +5,7 @@ !: :::: :: -=+ point=,[x=@ y=@] +=+ point={x+@ y+@} |_ point :: ++ grab :: convert from diff --git a/mar/oct4/update.hoon b/mar/oct4/update.hoon index 47e612634..008726312 100644 --- a/mar/oct4/update.hoon +++ b/mar/oct4/update.hoon @@ -17,12 +17,12 @@ |% ++ json ^- ^json :: to %json ~! +>-< - ?: ?=(| +>-<) + ?: ?=($| +>-<) ~! +>-< ~! p s/(crip p) =+ she=|=(ship s/(scot %p +<)) - =+ hes=|=([ship *] (she +<-)) + =+ hes=|=({ship *} (she +<-)) %- jobe :~ who/s/?:(who.p %x %o) plx/?~(p.sag.p ~ (she u.p.sag.p)) diff --git a/mar/sched.hoon b/mar/sched.hoon index c9ab2a9e6..f833292fd 100644 --- a/mar/sched.hoon +++ b/mar/sched.hoon @@ -10,7 +10,7 @@ |= {tym+@da ite+cord} ^- manx ;li: ;{b "{}"}: {(trip ite)} ++ sorted-list - (sort (~(tap by dat)) |=([[l=@ @] [r=@ @]] (lth l r))) + (sort (~(tap by dat)) |=({{l+@ @} {r+@ @}} (lth l r))) -- ++ grab |% :: convert from diff --git a/mar/talk/command.hoon b/mar/talk/command.hoon index 3badbb2f9..553694374 100644 --- a/mar/talk/command.hoon +++ b/mar/talk/command.hoon @@ -40,7 +40,7 @@ %- cu :_ (ar a) ~(gas in *(set __((need *a)))) :: - ++ lake |*(a+__(*) $+(json (unit a))) + ++ lake |*(a+__(*) _+(json (unit a))) ++ peach |* a+{rule rule} |= tub+nail @@ -57,7 +57,7 @@ :: :: ++ thot - ^- $+(json (unit thought)) + ^- _+(json (unit thought)) %- ot :~ serial/(ci (slat %uv) so) audience/audi @@ -107,7 +107,7 @@ == :: ++ conf - ^- $+(json (unit config)) + ^- _+(json (unit config)) %- ot :~ sources/(as (su parn)) caption/so diff --git a/mar/talk/report.hoon b/mar/talk/report.hoon index f42f0e18c..afd6e28f9 100644 --- a/mar/talk/report.hoon +++ b/mar/talk/report.hoon @@ -75,7 +75,7 @@ {$&} (stat p.a) {$|} %- crip ?- -.p.a - %twitter "{(trip -.p.a)}/{(trip p.p.a)}" + $twitter "{(trip -.p.a)}/{(trip p.p.a)}" == == :: diff --git a/mar/talk/telegrams.hoon b/mar/talk/telegrams.hoon index e98801753..d6ea75c29 100644 --- a/mar/talk/telegrams.hoon +++ b/mar/talk/telegrams.hoon @@ -23,7 +23,7 @@ ?+ b ~ {$o *} %+ murn `(list {@tas fist})`a - |= [c=term d=fist] ^- (unit tank) + |= {c+term d+fist} ^- (unit tank) =+ (~(get by p.b) c) ?~ - (some >[c (turn (~(tap by p.b)) head)]<) =+ (d u) @@ -36,8 +36,8 @@ %. ((of:jo a) b) %- slog ?+ b ~ - [%o *] - %+ murn `(list ,[@tas fist])`a + {$o *} + %+ murn `(list {@tas fist})`a |= {c+term d+fist} ^- (unit tank) =+ (~(get by p.b) c) ?~ - ~ @@ -141,7 +141,7 @@ %. ((of:jo a) b) %- slog ?+ b ~ - [%o *] + {$o *} %+ murn `(list {@tas fist})`a |= {c+term d+fist} ^- (unit tank) =+ (~(get by p.b) c) @@ -171,7 +171,7 @@ =- ~! gar ~! (need -) - ((sef) jon) :: - ++ lake |*(a=__(*) $+(json (unit a))) + ++ lake |*(a=__(*) _+(json (unit a))) ++ head-rush |* a+rule |* {b+cord c+*} @@ -238,23 +238,23 @@ (jobe ship/(jope p) thought/(thot q) ~) :: ++ jove - |= [a=envelope b=delivery] + |= {a+envelope b+delivery} %- jobe :~ envelope/(jobe visible/[%b p.a] sender/?~(q.a ~ s/(parn u.q.a)) ~) delivery/[%s b] == :: - ++ jope |=(a=ship (jape +:)) ::[%s (crip +:(scow %p a))]) - ++ joke |=(a=tank [%s (role (turn (wash 0^80 a) crip))]) - ++ jode |=(a=time (jone (div (mul (sub a ~1970.1.1) 1.000) ~s1))) + ++ jope |=(a+ship (jape +:)) ::[%s (crip +:(scow %p a))]) + ++ joke |=(a+tank [%s (role (turn (wash 0^80 a) crip))]) + ++ jode |=(a+time (jone (div (mul (sub a ~1970.1.1) 1.000) ~s1))) ++ jome :: stringify keys - |* [a=_cord b=_json] - |= c=(map ,_+<.a ,_+<.b) + |* {a+__(cord) b+__(json)} + |= c=(map __(+<.a) __(+<.b)) (jobe (turn (~(tap by c)) (both a b))) :: ++ both :: cons two gates - |* [a=_,* b=_,*] - |=(c=_[+<.a +<.b] [(a -.c) (b +.c)]) + |* {a+__(*) b+__(*)} + |=(c+__([+<.a +<.b]) [(a -.c) (b +.c)]) :: ++ thot |= thought @@ -262,7 +262,7 @@ :: ++ audi (jome parn jove) ++ bouq - |= a=bouquet + |= a+bouquet a/(turn (~(tap in a)) |=(b=path a/(turn b |=(c=span s/c)))) :: ++ parn @@ -271,7 +271,7 @@ {$&} (stat p.a) {$|} %- crip ?- -.p.a - %twitter "{(trip -.p.a)}/{(trip p.p.a)}" + $twitter "{(trip -.p.a)}/{(trip p.p.a)}" == == :: @@ -284,7 +284,7 @@ (jobe date/(jode p) bouquet/(bouq q) speech/(spec r) ~) :: ++ spec - |= a=speech + |= a+speech %+ joba -.a ?+ -.a ~|(stub/-.a !!) $lin (jobe txt/[%s q.a] say/[%b p.a] ~) diff --git a/mar/users.hoon b/mar/users.hoon index 22c70da2b..834d88697 100644 --- a/mar/users.hoon +++ b/mar/users.hoon @@ -4,7 +4,7 @@ /? 314 /- users !: -|_ use=users +|_ use+users :: ++ grab :: convert from |% @@ -18,8 +18,7 @@ :- %a %+ turn use - |= - [p=@p q=@t] + |= {p+@p q+@t} %- jobe ~[[%ship (jape

)] [%name [%s q]]] ++ mime diff --git a/mar/work/command.hoon b/mar/work/command.hoon index a6480a08f..badb4d84d 100644 --- a/mar/work/command.hoon +++ b/mar/work/command.hoon @@ -6,27 +6,27 @@ :::: :: [work .] -|_ mad=command +|_ mad+command ++ grab |% ++ noun command ++ json => [jo ..command] - =< (corl need (cu |=(a=command a) coma)) + =< (corl need (cu |=(a+command a) coma)) |% ++ as :: |*(a=fist (cu sa (ar a))) :: XX types |* a=fist %- cu :_ (ar a) - ~(gas in *(set ,_(need *a))) + ~(gas in *(set __((need *a)))) ++ ot - |* a=(pole ,[@tas fist]) - |= b=json + |* a+(pole {@tas fist}) + |= b+json %. ((^ot a) b) %- slog ?+ b ~ - [%o *] - %+ murn `(list ,[@tas fist])`a - |= [c=term d=fist] ^- (unit tank) + {$o *} + %+ murn `(list {@tas fist})`a + |= {c+term d+fist} ^- (unit tank) =+ (~(get by p.b) c) ?~ - (some >[c (turn (~(tap by p.b)) head)]<) =+ (d u) @@ -34,14 +34,14 @@ ~ == ++ of - |* a=(pole ,[@tas fist]) - |= b=json + |* a+(pole {@tas fist}) + |= b+json %. ((of:jo a) b) %- slog ?+ b ~ - [%o *] - %+ murn `(list ,[@tas fist])`a - |= [c=term d=fist] ^- (unit tank) + {$o *} + %+ murn `(list {@tas fist})`a + |= {c+term d+fist} ^- (unit tank) =+ (~(get by p.b) c) ?~ - ~ =+ (d u) diff --git a/mar/work/report.hoon b/mar/work/report.hoon index 0c8cfdb65..f6d56a884 100644 --- a/mar/work/report.hoon +++ b/mar/work/report.hoon @@ -9,11 +9,11 @@ |_ client ++ grow |% ++ json - =+ jope=|=(a=ship [%s (rsh 3 1 (scot %p a))]) + =+ jope=|=(a+ship [%s (rsh 3 1 (scot %p a))]) %- jobe :~ sort/[%a (turn sort |=(a=@uv [%s (scot %uv a)]))] =< tasks/(jobe (turn (~(tap by tasks)) .)) - |= [@ client-task] + |= {@ client-task} =+ tax :- (scot %uv id) %- jobe :~ id/[%s (scot %uv id)] diff --git a/sur/kyev.hoon b/sur/kyev.hoon index d85a124a2..f2530c113 100644 --- a/sur/kyev.hoon +++ b/sur/kyev.hoon @@ -2,9 +2,9 @@ :: :::: /hoon/kyev/sur :: -=- ,[p=(set ?(%ctrl %shift %alt %meta)) q=$|(cord [%act speck])] +=- {p+(set ?($ctrl $shift $alt $meta)) q=_|(cord {$act speck})} ^= speck -$? %ctrl %shift %alt %meta %entr %esc %caps %uncap - %pgup %pgdn %home %end %baxp %del %ins - %up %down %left %right +_? $ctrl $shift $alt $meta $entr $esc $caps $uncap + $pgup $pgdn $home $end $baxp $del $ins + $up $down $left $right == diff --git a/sur/markdown.hoon b/sur/markdown.hoon index 0ca8b8508..0c4db8970 100644 --- a/sur/markdown.hoon +++ b/sur/markdown.hoon @@ -1,40 +1,39 @@ -|% +|% ++ down (list elem) ++ kids (list inline) ++ inline =+ ^= inlik - $% [%emph p=?] :: strong? - [%delt ~] :: strikethrough - [%link p=tape q=(unit tape)] - [%blot p=tape q=(unit tape)] :: image + _% {$emph p+?} :: strong? + {$delt $~} :: strikethrough + {$link p+tape q+(unit tape)} + {$blot p+tape q+(unit tape)} :: image == =+ ^= inlin - $% [%$ p=tape] - [%line ~] - [%code p=tape] - [%htmt p=cord] :: XX (each marx mane) + _% {$$ p+tape} + {$line $~} + {$code p+tape} + {$htmt p+cord} :: XX (each marx mane) == - $&([p=inlik q=kids] inlin) + _&({p+inlik q+kids} inlin) :: :: -++ elem $&(tops node) +++ elem _&(tops node) ++ tops :: childful block - $: $= p - $% [%bloq ~] - [%list p=? q=$|(char [p=@u q=char])] :: tight, ordered? - [%item ~] + _: _= p + _% {$bloq $~} + {$list p+? q+_|(char {p+@u q+char})} :: tight ordered? + {$item $~} == - q=down + q+down == -:: ++ mist |*(a=_,* ,[i=a t=$|(~ (mist a))]) :: .=(%mist +(%list)) ++ node :: childless block - $% [%para p=kids] - [%meta p=(map cord cord)] :: front matter - [%hrul ~] - [%head p=@u q=kids] - [%code p=(unit ,[p=char q=@u r=tape]) q=wain] :: info, contents - [%html p=wain] - [%defn ~] :: empty para + _% {$para p+kids} + {$meta p+(map cord cord)} :: front matter + {$hrul $~} + {$head p+@u q+kids} + {$code p+(unit {p+char q+@u r+tape}) q+wain} :: info contents + {$html p+wain} + {$defn $~} :: empty para == -- diff --git a/sur/mess.hoon b/sur/mess.hoon index ad8c70bd6..35e60cb68 100644 --- a/sur/mess.hoon +++ b/sur/mess.hoon @@ -1,5 +1,5 @@ -$% [%do p=@t] - [%exp p=@t q=tank] - [%say p=@t] +_% {$do p+@t} + {$exp p+@t q+tank} + {$say p+@t} == diff --git a/sur/oct4.hoon b/sur/oct4.hoon index fae06e125..0dadbcabf 100644 --- a/sur/oct4.hoon +++ b/sur/oct4.hoon @@ -1,19 +1,19 @@ :: :: :: -:::: /hoon/oct4/sur :::::: dependencies +:::: /hoon/oct4/sur :::::: dependencies :: :: :: /? 310 :: :: :: :: :::: :::::: semantics :: :: :: |% :: -++ board ,@ :: one-player bitfield -++ point ,[x=@ y=@] :: coordinate +++ board @ :: one-player bitfield +++ point {x+@ y+@} :: coordinate ++ stage (pair (unit ship) (unit ship)) :: players ++ play (each game tape) :: update ++ game :: game state - $: who=? :: whose turn + _: who=? :: whose turn sag=stage :: who's playing - aud=(map ship ,@ud) :: who's watching + aud=(map ship @ud) :: who's watching box=board :: X board boo=board :: O board == :: diff --git a/sur/users.hoon b/sur/users.hoon index 2d6c0119e..ec6c00457 100644 --- a/sur/users.hoon +++ b/sur/users.hoon @@ -1 +1 @@ -(list ,[p=@p q=@t]) +(list {p+@p q+@t})