From 6155449bcf1399bd50be3d84a0f9d30bf2f8cc24 Mon Sep 17 00:00:00 2001 From: "C. Guy Yarvin" Date: Fri, 4 Dec 2015 15:59:29 -0800 Subject: [PATCH] Mostly through zuse. --- arvo/hoon.hoon | 146 +++--- arvo/zuse.hoon | 1205 +++++++++++++++++++++++------------------------- 2 files changed, 647 insertions(+), 704 deletions(-) diff --git a/arvo/hoon.hoon b/arvo/hoon.hoon index d45311032..59beb6ff8 100644 --- a/arvo/hoon.hoon +++ b/arvo/hoon.hoon @@ -3,7 +3,7 @@ :::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::: ?> ?=(@ .) :: atom subject %. . :: fun with subject -|= cud=@ :: call it cud +|= cud+@ :: call it cud =- ?: =(0 cud) :: if cud is 0 all :: then return engine (make:all cud) :: else simple compile @@ -114,7 +114,7 @@ ++ quid |*({a+_+(* *) b+*} {a __(b)}) :: for =^ ++ quip |*({a+_+(* *) b+*} {(list a) __(b)}) :: for =^ ++ wand |* a+(pole _+(* *)) :: hetero list - |= b=* :: + |= b+* :: ?~ a ~ :: ?@ b ~ :: [i=(-.a -.b) t=$(a +.a, b +.b)] :: @@ -784,7 +784,7 @@ ~/ %scag |* {a+@ b+(list)} |- ^+ b - ?: |(?=(~ b) =(0 a)) ~ + ?: |(?=($~ b) =(0 a)) ~ [i.b $(b t.b, a (dec a))] :: ++ slag :: suffix @@ -811,9 +811,9 @@ |- ^+ a ?~ a ~ %+ weld - $(a (skim t.a |=(c=_i.a (b c i.a)))) + $(a (skim t.a |=(c+__(i.a) (b c i.a)))) ^+ t.a - [i.a $(a (skim t.a |=(c=_i.a !(b c i.a))))] + [i.a $(a (skim t.a |=(c+__(i.a) !(b c i.a))))] :: ++ swag :: infix |* {{a+@ b+@} c+(list)} @@ -878,12 +878,12 @@ :: ++ cat :: concatenate ~/ %cat - |= {a+bloq b+@ c=@} + |= {a+bloq b+@ c+@} (add (lsh a (met a b) c) b) :: ++ cut :: slice ~/ %cut - |= {a+bloq {b+@u c+@u} d=@} + |= {a+bloq {b+@u c+@u} d+@} (end a c (rsh a b d)) :: ++ end :: tail @@ -942,7 +942,7 @@ |= {a+bloq b+@u c+@} (div c (bex (mul (bex a) b))) :: -++ swap |=([a=bloq b=@] (rep a (flop (rip a b)))) :: reverse bloq order +++ swap |=({a+bloq b+@} (rep a (flop (rip a b)))) :: reverse bloq order :: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: section 2cB, bit logic :: @@ -1574,7 +1574,7 @@ ?: &(=(z i) =((dis y 1) 0)) [%f & --0 y] ?: (^lth z i) [%f & --0 y] [%f & --0 +(y)] :: - ++ ned :: require ?=([%f *] a) + ++ ned :: require ?=({$f *} a) |= {a+fn} ^- {$f s+? e+@s a+@u} ?: ?=({$f *} a) a ~| %need-float !! @@ -2264,14 +2264,14 @@ :: ++ hard :: force coerce to type |* han+_+(* *) - |= fud=* ^- han + |= fud+* ^- han ~| %hard =+ gol=(han fud) ?>(=(gol fud) gol) :: ++ soft :: maybe coerce to type |* han+_+(* *) - |= fud=* ^- (unit han) + |= fud+* ^- (unit han) =+ gol=(han fud) ?.(=(gol fud) ~ [~ gol]) :: @@ -2413,7 +2413,7 @@ :: +- gas :: concatenate ~/ %gas - |= b=(list __(?>(?=(^ a) n.a))) + |= b+(list __(?>(?=(^ a) n.a))) |- ^+ a ?~ b a @@ -2640,7 +2640,7 @@ [n.e $(e l.e) r.e] :: +- dig :: axis of b key - |= b=* + |= b+* =+ c=1 |- ^- (unit @) ?~ a ~ @@ -2729,7 +2729,7 @@ [n.d [n.a l.a l.d] r.d] :: +- rep :: replace by product - |* b+__(|=([* *] +<+)) + |* b+__(|=({* *} +<+)) |- ?~ a +<+.b $(a r.a, +<+.b $(a l.a, +<+.b (b n.a +<+.b))) @@ -2966,7 +2966,7 @@ ~/ %cold |* {cus+* sef+rule} ~/ %fun - |= tub=nail + |= tub+nail =+ vex=(sef tub) ?~ q.vex vex @@ -3068,7 +3068,7 @@ ^- (like char) ?~ q.tub (fail tub) - ?. (lien bud |=(a=char =(i.q.tub a))) + ?. (lien bud |=(a+char =(i.q.tub a))) (fail tub) (next tub) :: @@ -3124,7 +3124,7 @@ ~/ %stew |* leh+(list {p+?(@ {@ @}) q+rule}) :: char/range keys =+ ^= wor :: range complete lth - |= [ort=?(@ [@ @]) wan=?(@ [@ @])] + |= {ort+?(@ {@ @}) wan+?(@ {@ @})} ?@ ort ?@(wan (lth ort wan) (lth ort -.wan)) ?@(wan (lth +.ort wan) (lth +.ort -.wan)) @@ -3281,7 +3281,7 @@ ++ bass |* {wuc+@ tyd+rule} %+ cook - |= waq=(list @) + |= waq+(list @) %+ roll waq =|([p=@ q=@] |.((add p (mul wuc q)))) @@ -3290,7 +3290,7 @@ ++ boss |* {wuc+@ tyd+rule} %+ cook - |= waq=(list @) + |= waq+(list @) %+ reel waq =|([p=@ q=@] |.((add p (mul wuc q)))) @@ -3394,18 +3394,18 @@ ++ alp ;~(pose low hig nud hep) :: alphanumeric and - ++ bet ;~(pose (cold 2 hep) (cold 3 lus)) :: axis syntax - + ++ bin (bass 2 (most gon but)) :: binary to atom -++ but (cook |=(a=@ (sub a '0')) (shim '0' '1')) :: binary digit -++ cit (cook |=(a=@ (sub a '0')) (shim '0' '7')) :: octal digit +++ but (cook |=(a+@ (sub a '0')) (shim '0' '1')) :: binary digit +++ cit (cook |=(a+@ (sub a '0')) (shim '0' '7')) :: octal digit ++ dem (bass 10 (most gon dit)) :: decimal to atom -++ dit (cook |=(a=@ (sub a '0')) (shim '0' '9')) :: decimal digit +++ dit (cook |=(a+@ (sub a '0')) (shim '0' '9')) :: decimal digit ++ gul ;~(pose (cold 2 gal) (cold 3 gar)) :: axis syntax < > ++ gon ;~(pose ;~(plug bas gay fas) (easy ~)) :: long numbers \ / ++ hex (bass 16 (most gon hit)) :: hex to atom ++ hig (shim 'A' 'Z') :: uppercase ++ hit ;~ pose :: hex digits dit - (cook |=(a=char (sub a 87)) (shim 'a' 'f')) - (cook |=(a=char (sub a 55)) (shim 'A' 'F')) + (cook |=(a+char (sub a 87)) (shim 'a' 'f')) + (cook |=(a+char (sub a 55)) (shim 'A' 'F')) == ++ low (shim 'a' 'z') :: lowercase ++ mes %+ cook :: hexbyte @@ -3438,13 +3438,13 @@ ++ soqs ;~(plug soq soq soq) :: delimiting ''' ++ sym :: symbol %+ cook - |=(a=tape (rap 3 ^-((list @) a))) + |=(a+tape (rap 3 ^-((list @) a))) ;~(plug low (star ;~(pose nud low hep))) :: ++ ven ;~ (comp |=({a+@ b+@} (peg a b))) :: +>- axis syntax bet =+ hom=`?`| - |= tub=nail + |= tub+nail ^- (like axis) =+ vex=?:(hom (bet tub) (gul tub)) ?~ q.vex @@ -3455,9 +3455,9 @@ == ++ vit :: base64 digit ;~ pose - (cook |=(a=@ (sub a 65)) (shim 'A' 'Z')) - (cook |=(a=@ (sub a 71)) (shim 'a' 'z')) - (cook |=(a=@ (add a 4)) (shim '0' '9')) + (cook |=(a+@ (sub a 65)) (shim 'A' 'Z')) + (cook |=(a+@ (sub a 71)) (shim 'a' 'z')) + (cook |=(a+@ (add a 4)) (shim '0' '9')) (cold 62 (just '-')) (cold 63 (just '+')) == @@ -3488,13 +3488,13 @@ ++ cass :: lowercase |= vib+tape %+ rap 3 - (turn vib |=(a=@ ?.(&((gte a 'A') (lte a 'Z')) a (add 32 a)))) + (turn vib |=(a+@ ?.(&((gte a 'A') (lte a 'Z')) a (add 32 a)))) :: ++ cuss :: uppercase |= vib+tape ^- @t %+ rap 3 - (turn vib |=(a=@ ?.(&((gte a 'a') (lte a 'z')) a (sub a 32)))) + (turn vib |=(a+@ ?.(&((gte a 'a') (lte a 'z')) a (sub a 32)))) :: ++ crip |=(a+tape `@t`(rap 3 a)) :: tape to cord :: @@ -3517,12 +3517,12 @@ [b $(a (dec a))] :: ++ sand :: atom sanity - |= a=@ta + |= a+@ta (flit (sane a)) :: ++ sane :: atom sanity - |= a=@ta - |= b=@ ^- ? + |= a+@ta + |= b+@ ^- ? ?. =(%t (end 3 1 a)) ~|(%sane-stub !!) =+ [inx=0 len=(met 3 b)] @@ -3597,7 +3597,7 @@ 3 [[16 6] [8 6] [0 4] ~] 4 [[24 6] [16 6] [8 6] [0 3] ~] == - |=([p=@ q=@] [q (cut 0 [p q] a)]) + |=({p+@ q+@} [q (cut 0 [p q] a)]) $(a (rsh 3 b a)) :: ++ tuba :: utf8 to utf32 tape @@ -3831,7 +3831,7 @@ ++ ab |% ++ bix (bass 16 (stun [2 2] six)) - ++ fem (sear |=(a=@ (cha:fa a)) aln) + ++ fem (sear |=(a+@ (cha:fa a)) aln) ++ hif (boss 256 ;~(plug tip tiq (easy ~))) ++ huf %+ cook |=({a+@ b+@} (wred:un ~(zug mu ~(zag mu [a b])))) @@ -3846,26 +3846,26 @@ ++ qib (bass 2 (stun [4 4] sib)) ++ qix (bass 16 (stun [4 4] six)) ++ seb (cold 1 (just '1')) - ++ sed (cook |=(a=@ (sub a '0')) (shim '1' '9')) + ++ sed (cook |=(a+@ (sub a '0')) (shim '1' '9')) ++ sev ;~(pose sed sov) ++ sew ;~(pose sed sow) ++ sex ;~(pose sed sox) - ++ sib (cook |=(a=@ (sub a '0')) (shim '0' '1')) - ++ sid (cook |=(a=@ (sub a '0')) (shim '0' '9')) + ++ sib (cook |=(a+@ (sub a '0')) (shim '0' '1')) + ++ sid (cook |=(a+@ (sub a '0')) (shim '0' '9')) ++ siv ;~(pose sid sov) ++ siw ;~(pose sid sow) ++ six ;~(pose sid sox) - ++ sov (cook |=(a=@ (sub a 87)) (shim 'a' 'v')) + ++ sov (cook |=(a+@ (sub a 87)) (shim 'a' 'v')) ++ sow ;~ pose - (cook |=(a=@ (sub a 87)) (shim 'a' 'z')) - (cook |=(a=@ (sub a 29)) (shim 'A' 'Z')) + (cook |=(a+@ (sub a 87)) (shim 'a' 'z')) + (cook |=(a+@ (sub a 29)) (shim 'A' 'Z')) (cold 62 (just '-')) (cold 63 (just '~')) == - ++ sox (cook |=(a=@ (sub a 87)) (shim 'a' 'f')) + ++ sox (cook |=(a+@ (sub a 87)) (shim 'a' 'f')) ++ ted (bass 10 ;~(plug sed (stun [0 2] sid))) - ++ tip (sear |=(a=@ (ins:po a)) til) - ++ tiq (sear |=(a=@ (ind:po a)) til) + ++ tip (sear |=(a+@ (ins:po a)) til) + ++ tiq (sear |=(a+@ (ind:po a)) til) ++ tid (bass 10 (stun [3 3] sid)) ++ til (boss 256 (stun [3 3] low)) ++ urs %+ cook @@ -4026,12 +4026,12 @@ (c-co (enc:fa q.p.lot)) =- (weld p.gam ?:(=(0 q.p.lot) `tape`['0' ~] q.gam)) ^= gam ^- {p+tape q+tape} - ?+ hay [~ ((ox-co [10 3] |=(a=@ ~(d ne a))) q.p.lot)] - %b [['0' 'b' ~] ((ox-co [2 4] |=(a=@ ~(d ne a))) q.p.lot)] + ?+ hay [~ ((ox-co [10 3] |=(a+@ ~(d ne a))) q.p.lot)] + %b [['0' 'b' ~] ((ox-co [2 4] |=(a+@ ~(d ne a))) q.p.lot)] %i [['0' 'i' ~] ((d-co 1) q.p.lot)] - %x [['0' 'x' ~] ((ox-co [16 4] |=(a=@ ~(x ne a))) q.p.lot)] - %v [['0' 'v' ~] ((ox-co [32 5] |=(a=@ ~(x ne a))) q.p.lot)] - %w [['0' 'w' ~] ((ox-co [64 5] |=(a=@ ~(w ne a))) q.p.lot)] + %x [['0' 'x' ~] ((ox-co [16 4] |=(a+@ ~(x ne a))) q.p.lot)] + %v [['0' 'v' ~] ((ox-co [32 5] |=(a+@ ~(x ne a))) q.p.lot)] + %w [['0' 'w' ~] ((ox-co [64 5] |=(a+@ ~(w ne a))) q.p.lot)] == :: %s @@ -4229,7 +4229,7 @@ %+ knee *coin |. ~+ %- stew ^. stet ^. limo - :~ :- ['a' 'z'] (cook |=(a=@ta [~ %tas a]) sym) + :~ :- ['a' 'z'] (cook |=(a+@ta [~ %tas a]) sym) :- ['0' '9'] (stag ~ bisk) :- '-' (stag ~ tash) :- '.' ;~(pfix dot perd) @@ -4350,7 +4350,7 @@ ++ smyt :: pretty print path |= bon+path ^- tank :+ %rose [['/' ~] ['/' ~] ['/' ~]] - (turn bon |=(a=@ [%leaf (trip a)])) + (turn bon |=(a+@ [%leaf (trip a)])) :: ++ spat |=(pax+path (crip (spud pax))) :: render path to cord ++ spud :: render path to tape @@ -4709,7 +4709,7 @@ =+ ton=(mock [taq 9 2 0 1] |=(* ~)) ?- -.ton $0 [%& p.ton] - $1 [%| (turn p.ton |=(a=* (smyt (path a))))] + $1 [%| (turn p.ton |=(a+* (smyt (path a))))] $2 [%| p.ton] == :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @@ -4814,7 +4814,7 @@ :: ++ role :: line list to atom |= tez+(list @t) - (rap 3 (turn tez |=(a=@t (cat 3 a 10)))) + (rap 3 (turn tez |=(a+@t (cat 3 a 10)))) :: ++ lump :: apply patch |= {don+udon src+*} @@ -6102,13 +6102,13 @@ [%leaf '\'' (weld (mesc (tape +.vem)) `tape`['\'' ~])] :: {s+$a c+@} [%leaf (mesc (trip c.vem))] - {s+$b c+*} (shop c.vem |=(a=@ ~(rub at a))) + {s+$b c+*} (shop c.vem |=(a+@ ~(rub at a))) {s+{$c p+@} c+*} :+ %palm [['.' ~] ['-' ~] ~ ~] [[%leaf (mesc (trip p.s.vem))] $(vem c.vem) ~] :: - {s+$d c+*} (shop c.vem |=(a=@ ~(rud at a))) + {s+$d c+*} (shop c.vem |=(a+@ ~(rud at a))) {s+$k c+*} (tank c.vem) {s+$h c+*} ?: =(0 c.vem) :: XX remove after 220 @@ -6116,7 +6116,7 @@ :+ %rose [['/' ~] ['/' ~] ~] =+ yol=((list @ta) c.vem) - (turn yol |=(a=@ta [%leaf (trip a)])) + (turn yol |=(a+@ta [%leaf (trip a)])) :: {s+$o c+*} %= $ @@ -6125,12 +6125,12 @@ [-.c.vem +<-.c.vem +<+.c.vem +>-.c.vem +>+.c.vem ~] == :: - {s+$p c+*} (shop c.vem |=(a=@ ~(rup at a))) - {s+$q c+*} (shop c.vem |=(a=@ ~(r at a))) + {s+$p c+*} (shop c.vem |=(a+@ ~(rup at a))) + {s+$q c+*} (shop c.vem |=(a+@ ~(r at a))) {s+$r c+*} $(vem [[%r ' ' '{' '}'] c.vem]) - {s+$t c+*} (shop c.vem |=(a=@ ~(rt at a))) - {s+$v c+*} (shop c.vem |=(a=@ ~(ruv at a))) - {s+$x c+*} (shop c.vem |=(a=@ ~(rux at a))) + {s+$t c+*} (shop c.vem |=(a+@ ~(rt at a))) + {s+$v c+*} (shop c.vem |=(a+@ ~(ruv at a))) + {s+$x c+*} (shop c.vem |=(a+@ ~(rux at a))) {s+{$m p=@} c+*} (shep p.s.vem c.vem) {s+{$r p=@} c+*} $(vem [[%r ' ' (cut 3 [0 1] p.s.vem) (cut 3 [1 1] p.s.vem)] c.vem]) @@ -6475,7 +6475,7 @@ ?@(p.lot [%dtzy %$ p.lot] [$(p.lot -.p.lot) $(p.lot +.p.lot)]) :: $many - [%cltr (turn p.lot |=(a=coin ^$(lot a)))] + [%cltr (turn p.lot |=(a+coin ^$(lot a)))] == :: ++ look @@ -6998,7 +6998,7 @@ =+ :* def=bile(gen i.p.gen) ^= end ^- (list line) %+ turn `(list twig)`t.p.gen - |=(a=twig =+(bile(gen a) ?>(?=(%& -<) ->))) + |=(a+twig =+(bile(gen a) ?>(?=(%& -<) ->))) == ?- -.def {$&} [%kelp p.def end] @@ -7008,7 +7008,7 @@ {$cbpm *} [%bush boil(gen p.gen) boil(gen q.gen)] {$cbls *} [%weed [%brls [%herb p.gen] [%bctr %herb q.gen]]] {$cbts *} [%bark p.gen boil(gen q.gen)] - {$cbwt *} =+ (turn p.gen |=(a=twig boil(gen a))) + {$cbwt *} =+ (turn p.gen |=(a+twig boil(gen a))) ?~(- [%axil %void] [%fern -]) {$cbzy *} [%leaf p.gen] {$cbzz *} [%axil p.gen] @@ -7498,9 +7498,9 @@ {$hold *} ?: (~(has in bix) [sut ref]) ~|(%crop-loop !!) - (reco |=(a=type dext(sut a, bix (~(put in bix) [sut ref])))) + (reco |=(a+type dext(sut a, bix (~(put in bix) [sut ref])))) :: - $noun (reco |=(a=type dext(sut a))) + $noun (reco |=(a+type dext(sut a))) $void %void == :: @@ -8193,7 +8193,7 @@ {$hold *} ?: (~(has in bix) [sut ref]) ~|(%fuse-loop !!) - (reco |=(a=type ^$(sut a, bix (~(put in bix) [sut ref])))) + (reco |=(a+type ^$(sut a, bix (~(put in bix) [sut ref])))) :: $noun ref $void %void @@ -9170,7 +9170,7 @@ :: ++ porc ;~ plug - (cook |=(a=(list) (lent a)) (star cen)) + (cook |=(a+(list) (lent a)) (star cen)) ;~(pfix fas gash) == :: @@ -10102,11 +10102,11 @@ ;~(plug (star ket) ;~(pose sym (cold %$ buc))) :: %+ cook - |=(a=axis [%& a]) + |=(a+axis [%& a]) ;~ pose ;~(pfix lus dim:ag) - ;~(pfix pam (cook |=(a=@ ?:(=(0 a) 0 (mul 2 +($(a (dec a)))))) dim:ag)) - ;~(pfix bar (cook |=(a=@ ?:(=(0 a) 1 +((mul 2 $(a (dec a)))))) dim:ag)) + ;~(pfix pam (cook |=(a+@ ?:(=(0 a) 0 (mul 2 +($(a (dec a)))))) dim:ag)) + ;~(pfix bar (cook |=(a+@ ?:(=(0 a) 1 +((mul 2 $(a (dec a)))))) dim:ag)) ven (cold 1 dot) == @@ -10770,7 +10770,7 @@ =+ tuh=$(naf t.naf) [-.tuh [+<.tuh [i.naf +>.tuh]]] =+ fiq=(race org lal pux hen hil q.i.naf) - [[~ (turn p.p.fiq |=(a=move [lal a]))] [q.p.fiq [[p.i.naf q.fiq] t.naf]]] + [[~ (turn p.p.fiq |=(a+move [lal a]))] [q.p.fiq [[p.i.naf q.fiq] t.naf]]] :: ++ jack :: dispatch card |= {lac+? gum+muse} diff --git a/arvo/zuse.hoon b/arvo/zuse.hoon index cf6268336..6227841de 100644 --- a/arvo/zuse.hoon +++ b/arvo/zuse.hoon @@ -11,39 +11,39 @@ :: ++ dope ~/ %dope - |= a=@ + |= a+@ ~& [%dope-zuse (mug +>)] :(mul a a a) :: ++ fu :: modulo (mul p q) - |= a=[p=@ q=@] + |= a+{p+@ q+@} =+ b=?:(=([0 0] a) 0 (~(inv fo p.a) (~(sit fo p.a) q.a))) |% ++ dif - |= [c=[@ @] d=[@ @]] + |= {c+{@ @} d+{@ @}} [(~(dif fo p.a) -.c -.d) (~(dif fo q.a) +.c +.d)] :: ++ exp - |= [c=@ d=[@ @]] + |= {c+@ d+{@ @}} :- (~(exp fo p.a) (mod c (dec p.a)) -.d) (~(exp fo q.a) (mod c (dec q.a)) +.d) :: ++ out :: garner's formula - |= c=[@ @] + |= c+{@ @} %+ add +.c (mul q.a (~(pro fo p.a) b (~(dif fo p.a) -.c (~(sit fo p.a) +.c)))) :: ++ pro - |= [c=[@ @] d=[@ @]] + |= {c+{@ @} d+{@ @}} [(~(pro fo p.a) -.c -.d) (~(pro fo q.a) +.c +.d)] :: ++ sum - |= [c=[@ @] d=[@ @]] + |= {c+{@ @} d+{@ @}} [(~(sum fo p.a) -.c -.d) (~(sum fo q.a) +.c +.d)] :: ++ sit - |= c=@ + |= c+@ [(mod c p.a) (mod c q.a)] -- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @@ -51,18 +51,18 @@ :: ++ crua !: :: cryptosuite A (RSA) ^- acru - =| [mos=@ pon=(unit ,[p=@ q=@ r=[p=@ q=@] s=_*fu])] + =| {mos+@ pon+(unit {p+@ q+@ r+{p+@ q+@} s+__(*fu)})} => |% ++ mx (dec (met 0 mos)) :: bit length ++ dap :: OEAP decode - |= [wid=@ xar=@ dog=@] ^- [p=@ q=@] + |= {wid+@ xar+@ dog+@} ^- {p+@ q+@} =+ pav=(sub wid xar) =+ qoy=(cut 0 [xar pav] dog) =+ dez=(mix (end 0 xar dog) (shaw %pad-b xar qoy)) [dez (mix qoy (shaw %pad-a pav dez))] :: ++ pad :: OEAP encode - |= [wid=@ rax=[p=@ q=@] meg=@] ^- @ + |= {wid+@ rax+{p+@ q+@} meg+@} ^- @ =+ pav=(sub wid p.rax) ?> (gte pav (met 0 meg)) ^- @ @@ -70,15 +70,15 @@ =+ dez=(mix q.rax (shaw %pad-b p.rax qoy)) (can 0 [p.rax dez] [pav qoy] ~) :: - ++ pull |=(a=@ (~(exp fo mos) 3 a)) - ++ push |=(a=@ (~(exp fo mos) 5 a)) + ++ pull |=(a+@ (~(exp fo mos) 3 a)) + ++ push |=(a+@ (~(exp fo mos) 5 a)) ++ pump - |= a=@ ^- @ + |= a+@ ^- @ ?~ pon !! (out.s.u.pon (exp.s.u.pon p.r.u.pon (sit.s.u.pon a))) :: ++ punt - |= a=@ ^- @ + |= a+@ ^- @ ?~ pon !! (out.s.u.pon (exp.s.u.pon q.r.u.pon (sit.s.u.pon a))) -- @@ -86,14 +86,14 @@ ++ as => |% ++ haul :: revealing haul - |= a=pass + |= a+pass =+ [mag=(end 3 1 a) bod=(rsh 3 1 a)] ?> =('a' mag) ..as(mos bod, pon ~) -- ^? |% ++ seal - |= [a=pass b=@ c=@] + |= {a+pass b+@ c+@} ^- @ => .(c (sign b c)) =+ her=(haul a) @@ -107,7 +107,7 @@ =+ ben=(en b c) ?:(det hog (jam hog ben)) ++ sign - |= [a=@ b=@] ^- @ + |= {a+@ b+@} ^- @ =- (add ?:(p.mav 0 1) (lsh 0 1 q.mav)) ^= mav ^- [p=? q=@] =+ det=(lte (add 128 (met 0 b)) mx) @@ -117,8 +117,8 @@ =+ hog=(pump dog) ?:(det hog (jam hog b)) ++ sure - |= [a=@ b=@] - ^- (unit ,@) + |= {a+@ b+@} + ^- (unit @) =+ [det==(0 (end 0 1 b)) bod=(rsh 0 1 b)] =+ gox=?:(det [p=bod q=0] ((hard ,[p=@ q=@]) (cue bod))) =+ dog=(pull p.gox) @@ -126,8 +126,8 @@ =+ log=?:(det q.pig q.gox) ?.(=(p.pig (shaf (mix %agis a) log)) ~ [~ log]) ++ tear - |= [a=pass b=@] - ^- (unit ,[p=@ q=@]) + |= {a+pass b+@} + ^- (unit {p+@ q+@}) =+ her=(haul a) =+ [det==(0 (end 0 1 b)) bod=(rsh 0 1 b)] =+ gox=?:(det [p=bod q=0] ((hard ,[p=@ q=@]) (cue bod))) @@ -145,7 +145,7 @@ -- :: ++ de - |+ [key=@ cep=@] ^- (unit ,@) + |+ {key+@ cep+@} ^- (unit @) =+ toh=(met 8 cep) ?: (lth toh 2) ~ @@ -156,9 +156,9 @@ ~ [~ msg] :: - ++ dy |+([a=@ b=@] (need (de a b))) + ++ dy |+({a+@ b+@} (need (de a b))) ++ en - |+ [key=@ msg=@] ^- @ux + |+ {key+@ msg+@} ^- @ux =+ len=(met 8 msg) =+ adj=?:(=(0 len) 1 len) =+ hax=(shax (mix key (shax (mix adj msg)))) @@ -174,58 +174,58 @@ ++ nu => |% ++ elcm - |= [a=@ b=@] + |= {a+@ b+@} (div (mul a b) d:(egcd a b)) :: ++ eldm - |= [a=@ b=@ c=@] + |= {a+@ b+@ c+@} (~(inv fo (elcm (dec b) (dec c))) a) :: ++ ersa - |= [a=@ b=@] + |= {a+@ b+@} [a b [(eldm 3 a b) (eldm 5 a b)] (fu a b)] -- ^? |% ++ com - |= a=@ + |= a+@ ^+ ^?(..nu) ..nu(mos a, pon ~) :: ++ pit - |= [a=@ b=@] + |= {a+@ b+@} =+ c=(rsh 0 1 a) =+ [d=(ramp c [3 5 ~] b) e=(ramp c [3 5 ~] +(b))] ^+ ^?(..nu) ..nu(mos (mul d e), pon [~ (ersa d e)]) :: ++ nol - |= a=@ + |= a+@ ^+ ^?(..nu) =+ b=((hard ,[p=@ q=@]) (cue a)) ..nu(mos (mul p.b q.b), pon [~ (ersa p.b q.b)]) -- -- ++ bruw :: create keypair - |= [a=@ b=@] :: width seed + |= {a+@ b+@} :: width seed ^- acru (pit:nu:crua a b) :: ++ haul :: activate public key - |= a=pass + |= a+pass ^- acru =+ [mag=(end 3 1 a) bod=(rsh 3 1 a)] ?> =('a' mag) (com:nu:crua bod) :: ++ weur :: activate secret key - |= a=ring + |= a+ring ^- acru =+ [mag=(end 3 1 a) bod=(rsh 3 1 a)] ?> =('A' mag) (nol:nu:crua bod) :: ++ trua :: test rsa - |= msg=@tas + |= msg+@tas ^- @ =+ ali=(bruw 1.024 (shax 'ali')) =+ bob=(bruw 1.024 (shax 'bob')) @@ -242,17 +242,17 @@ :: ++ crub :: cryptosuite B (Ed) ^- acru - =| [puc=pass sed=ring] + =| {puc+pass sed+ring} => |% ++ dap :: OEAP decode - |= [wid=@ xar=@ dog=@] ^- [p=@ q=@] + |= {wid+@ xar+@ dog+@} ^- {p+@ q+@} =+ pav=(sub wid xar) =+ qoy=(cut 0 [xar pav] dog) =+ dez=(mix (end 0 xar dog) (shaw %pad-b xar qoy)) [dez (mix qoy (shaw %pad-a pav dez))] :: ++ pad :: OEAP encode - |= [wid=@ rax=[p=@ q=@] meg=@] ^- @ + |= {wid+@ rax+{p+@ q+@} meg+@} ^- @ =+ pav=(sub wid p.rax) ?> (gte pav (met 0 meg)) ^- @ @@ -264,36 +264,36 @@ ++ as => |% ++ haul :: revealing haul - |= a=pass + |= a+pass !! -- ^? |% ++ seal - |= [a=pass b=@ c=@] + |= {a+pass b+@ c+@} ^- @ !! ++ sign - |= [a=@ b=@] ^- @ + |= {a+@ b+@} ^- @ !! ++ sure - |= [a=@ b=@] - ^- (unit ,@) + |= {a+@ b+@} + ^- (unit @) !! ++ tear - |= [a=pass b=@] - ^- (unit ,[p=@ q=@]) + |= {a+pass b+@} + ^- (unit {p+@ q+@}) !! -- :: ++ de - |+ [key=@ cep=@] ^- (unit ,@) + |+ {key+@ cep+@} ^- (unit @) !! :: ++ dy - |+ [a=@ b=@] ^- @ + |+ {a+@ b+@} ^- @ !! ++ en - |+ [key=@ msg=@] ^- @ux + |+ {key+@ msg+@} ^- @ux !! :: ++ ex ^? @@ -306,42 +306,42 @@ ++ nu ^? |% ++ com - |= a=@ + |= a+@ ^+ ^?(..nu) ..nu(sed ~, puc a) :: ++ pit - |= [a=@ b=@] + |= {a+@ b+@} ^+ ^?(..nu) ..nu(sed b, puc (puck:ed b)) :: ++ nol - |= a=@ + |= a+@ ^+ ^?(..nu) ..nu(sed a, puc (puck:ed a)) -- -- ++ brew :: create keypair - |= [a=@ b=@] :: width seed + |= {a+@ b+@} :: width seed ^- acru (pit:nu:crub a b) :: ++ hail :: activate public key - |= a=pass + |= a+pass ^- acru =+ [mag=(end 3 1 a) bod=(rsh 3 1 a)] ?> =('b' mag) (com:nu:crub bod) :: ++ wear :: activate secret key - |= a=ring + |= a+ring ^- acru =+ [mag=(end 3 1 a) bod=(rsh 3 1 a)] ?> =('b' mag) (nol:nu:crub bod) :: ++ trub :: test ed - |= msg=@tas + |= msg+@tas ^- @ =+ ali=(brew 1.024 (shax 'ali')) =+ bob=(brew 1.024 (shax 'bob')) @@ -357,7 +357,7 @@ msg :: ++ hmac :: HMAC-SHA1 - |= [key=@ mes=@] + |= {key+@ mes+@} =+ ip=(fil 3 64 0x36) =+ op=(fil 3 64 0x5c) =+ ^= kex @@ -371,18 +371,18 @@ :: section 3bC, UTC :: Gregorian only :: ++ dawn :: Jan 1 weekday - |= yer=@ud + |= yer+@ud =+ yet=(sub yer 1) %- mod :_ 7 :(add 1 (mul 5 (mod yet 4)) (mul 4 (mod yet 100)) (mul 6 (mod yet 400))) :: ++ daws :: date weekday - |= yed=date + |= yed+date %- mod :_ 7 (add (dawn y.yed) (sub (yawn [y.yed m.yed d.t.yed]) (yawn y.yed 1 1))) :: ++ deal :: to leap sec time - |= yer=@da + |= yer+@da =+ n=0 =+ yud=(yore yer) |- ^- date @@ -395,7 +395,7 @@ $(n +(n)) :: ++ lead :: from leap sec time - |= ley=date + |= ley+date =+ ler=(year ley) =+ n=0 |- ^- @da @@ -411,7 +411,7 @@ $(n +(n)) :: ++ dust :: print UTC format - |= yed=date + |= yed+date ^- tape =+ wey=(daws yed) ;: weld @@ -423,26 +423,26 @@ " " "+0000" == :: -++ stud !: :: parse UTC format - =< |= a=cord :: expose parsers +++ stud !: :: parse UTC format + =< |= a+cord :: expose parsers %+ biff (rush a (more sepa elem)) - |= b=(list ,_(wonk *elem)) ^- (unit date) + |= b=(list __((wonk *elem))) ^- (unit date) =- ?.((za:jo -) ~ (some (zp:jo -))) ^+ =+ [*date u=unit] - *[(u ,_[a y]) (u ,_m) (u ,_d.t) (u ,_+.t) ~] + *{(u __([a y])) (u __(m)) (u __(d.t)) (u __(+.t)) $~} :~ :: XX types - |-(?~(b ~ ?.(?=(%y -.i.b) $(b t.b) `+.i.b))) - |-(?~(b ~ ?.(?=(%m -.i.b) $(b t.b) `+.i.b))) - |-(?~(b ~ ?.(?=(%d -.i.b) $(b t.b) `+.i.b))) - |-(?~(b ~ ?.(?=(%t -.i.b) $(b t.b) `+.i.b))) + |-(?~(b ~ ?.(?=($y -.i.b) $(b t.b) `+.i.b))) + |-(?~(b ~ ?.(?=($m -.i.b) $(b t.b) `+.i.b))) + |-(?~(b ~ ?.(?=($d -.i.b) $(b t.b) `+.i.b))) + |-(?~(b ~ ?.(?=($t -.i.b) $(b t.b) `+.i.b))) == |% :: ++ snug - |= a=wall - |= b=tape + |= a+wall + |= b+tape =+ [pos=1 len=(lent b)] - |- ^- (unit ,@u) + |- ^- (unit @u) ?~ a ~ ?: =(b (scag len i.a)) `pos @@ -480,14 +480,14 @@ "Friday" "Saturday" == :: - ++ les ^- (list ,@da) + ++ les ^- (list @da) :~ ~2015.7.1 ~2012.7.1 ~2009.1.1 ~2006.1.1 ~1999.1.1 ~1997.7.1 ~1996.1.1 ~1994.7.1 ~1993.7.1 ~1992.7.1 ~1991.1.1 ~1990.1.1 ~1988.1.1 ~1985.7.1 ~1983.7.1 ~1982.7.1 ~1981.7.1 ~1980.1.1 ~1979.1.1 ~1978.1.1 ~1977.1.1 ~1976.1.1 ~1975.1.1 ~1974.1.1 ~1973.1.1 ~1972.7.1 == - ++ lef ^- (list ,@da) + ++ lef ^- (list @da) :~ ~2015.6.30..23.59.59 ~2012.6.30..23.59.59 ~2008.12.31..23.59.58 ~2005.12.31..23.59.57 ~1998.12.31..23.59.56 ~1997.6.30..23.59.55 @@ -508,7 +508,7 @@ :: section 3bD, JSON and XML :: :: ++ moon :: mime type to text - |= myn=mite + |= myn+mite %- crip |- ^- tape ?~ myn ~ @@ -516,7 +516,7 @@ (weld (trip i.myn) `tape`['/' $(myn t.myn)]) :: ++ perk :: pars cube fork - |* a=(pole ,@tas) + |* a+(pole @tas) ?~ a fail ;~ pose (cold -.a (jest -.a)) @@ -524,7 +524,7 @@ == :: ++ poja :: parse JSON - =< |=(a=cord `(unit json)`(rush a apex)) + =< |=(a+cord `(unit json)`(rush a apex)) |% ++ apex :: JSON value %+ knee *json |. ~+ @@ -578,22 +578,22 @@ ++ frac ;~(plug dot digs) :: Fractional part :: whitespace ++ spac (star (mask [`@`9 `@`10 `@`13 ' ' ~])) - ++ ws |*(sef=rule ;~(pfix spac sef)) + ++ ws |*(sef+rule ;~(pfix spac sef)) :: plumbing - ++ mayb |*(bus=rule ;~(pose bus (easy ""))) - ++ twel |=([a=tape b=tape] (weld a b)) + ++ mayb |*(bus+rule ;~(pose bus (easy ""))) + ++ twel |=({a+tape b+tape} (weld a b)) ++ piec |* bus=rule - (cook |=(a=@ [a ~]) bus) + (cook |=(a+@ [a ~]) bus) -- :: ++ pojo :: print json - =| rez=tape - |= val=json + =| rez+tape + |= val+json ^- tape ?~ val (weld "null" rez) ?- -.val - %a + $a :- '[' =. rez [']' rez] !. @@ -602,9 +602,9 @@ ?~ t.p.val ^$(val i.p.val) ^$(val i.p.val, rez [',' $(p.val t.p.val)]) :: - %b (weld ?:(p.val "true" "false") rez) - %n (weld (trip p.val) rez) - %s + $b (weld ?:(p.val "true" "false") rez) + $n (weld (trip p.val) rez) + $s :- '"' =. rez ['"' rez] =+ viz=(trip p.val) @@ -616,7 +616,7 @@ [i.hed $(viz t.viz)] :: cons-and-tail (weld hed $(viz t.viz)) :: - %o + $o :- '{' =. rez ['}' rez] =+ viz=(~(tap by p.val)) @@ -631,11 +631,11 @@ :: ++ poxo :: node to tape =< |=(a=manx `tape`(apex a ~)) - |_ _[unq=`?`| cot=`?`|] :: self-close all tags + |_ __([unq=`?`| cot=`?`|]) :: self-close all tags ++ apex :: top level - |= [mex=manx rez=tape] + |= {mex+manx rez+tape} ^- tape - ?: ?=([%$ [[%$ *] ~]] g.mex) + ?: ?=({$$ {{$$ *} $~}} g.mex) (escp v.i.a.g.mex rez) =+ man=`mane`n.g.mex =. unq |(unq =(%script man) =(%style man)) @@ -645,13 +645,13 @@ %+ welp tam =- ?~(att rez [' ' (attr att rez)]) ^- rez=tape - ?: &(?=(~ c.mex) |(cot (clot man))) + ?: &(?=($~ c.mex) |(cot (clot man))) [' ' '/' '>' rez] :- '>' (many c.mex :(weld "" rez)) - :: :: + :: ++ attr :: attributes to tape - |= [tat=mart rez=tape] + |= {tat+mart rez+tape} ^- tape ?~ tat rez =. rez $(tat t.tat) @@ -662,7 +662,7 @@ == :: ++ escp :: escape for xml - |= [tex=tape rez=tape] + |= {tex+tape rez+tape} ?: unq (weld tex rez) =+ xet=`tape`(flop tex) @@ -682,13 +682,13 @@ == :: ++ many :: nodelist to tape - |= [lix=(list manx) rez=tape] + |= {lix+(list manx) rez+tape} |- ^- tape ?~ lix rez (apex i.lix $(lix t.lix)) :: ++ name :: name to tape - |= man=mane ^- tape + |= man+mane ^- tape ?@ man (trip man) (weld (trip -.man) `tape`[':' (trip +.man)]) :: @@ -701,14 +701,14 @@ -- :: ++ poxa :: xml parser - =< |=(a=cord (rush a apex)) - |_ ent=_`(map term ,@t)`[[%apos '\''] ~ ~] + =< |=(a+cord (rush a apex)) + |_ ent+__(`(map term ,@t)`[[%apos '\''] ~ ~]) ++ apex =+ spa=;~(pose comt whit) %+ knee *manx |. ~+ %+ ifix [(star spa) (star spa)] ;~ pose - %+ sear |=([a=marx b=marl c=mane] ?.(=(c n.a) ~ (some [a b]))) + %+ sear |=({a+marx b+marl c+mane} ?.(=(c n.a) ~ (some [a b]))) ;~(plug head many tail) empt == @@ -726,7 +726,7 @@ == :: ++ chrd :: character data - %+ cook |=(a=tape ^-(mars :/(a))) + %+ cook |=(a+tape ^-(mars :/(a))) (plus ;~(less doq ;~(pose (just `@`10) escp))) :: ++ comt :: comments @@ -741,10 +741,10 @@ ++ enty :: entity %+ ifix pam^sem ;~ pose - =+ def=`_ent`(mo [%gt '>'] [%lt '<'] [%amp '&'] [%quot '"'] ~) + =+ def=^+(ent (mo [%gt '>'] [%lt '<'] [%amp '&'] [%quot '"'] ~)) %+ sear ~(get by (~(uni by def) ent)) (cook crip ;~(plug alf (stun 1^31 aln))) - %+ cook |=(a=@c ?:((gth a 0x10.ffff) '�' (tuft a))) + %+ cook |=(a+@c ?:((gth a 0x10.ffff) '�' (tuft a))) =< ;~(pfix hax ;~(pose - +)) :- (bass 10 (stun 1^8 dit)) (bass 16 ;~(pfix (mask "xX") (stun 1^8 hit))) @@ -779,78 +779,78 @@ -- |% ++ ar :: array as list - |* wit=fist - |= jon=json - ?. ?=([%a *] jon) ~ + |* wit+fist + |= jon+json + ?. ?=({$a *} jon) ~ %- zl |- ?~ p.jon ~ [i=(wit i.p.jon) t=$(p.jon t.p.jon)] :: ++ at :: array as tuple - |* wil=(pole fist) - |= jon=json - ?. ?=([%a *] jon) ~ + |* wil+(pole fist) + |= jon+json + ?. ?=({$a *} jon) ~ =+ raw=((at-raw wil) p.jon) ?.((za raw) ~ (some (zp raw))) :: ++ at-raw :: array as tuple - |* wil=(pole fist) - |= jol=(list json) + |* wil+(pole fist) + |= jol+(list json) ?~ wil ~ :- ?~(jol ~ (-.wil i.jol)) ((at-raw +.wil) ?~(jol ~ t.jol)) :: ++ bo :: boolean - |=(jon=json ?.(?=([%b *] jon) ~ [~ u=p.jon])) + |=(jon+json ?.(?=({$b *} jon) ~ [~ u=p.jon])) :: ++ bu :: boolean not - |=(jon=json ?.(?=([%b *] jon) ~ [~ u=!p.jon])) + |=(jon+json ?.(?=({$b *} jon) ~ [~ u=!p.jon])) :: ++ ci :: maybe transform - |* [poq=$+(* *) wit=fist] - |= jon=json + |* {poq+_+(* *) wit+fist} + |= jon+json (biff (wit jon) poq) :: ++ cu :: transform - |* [poq=$+(* *) wit=fist] - |= jon=json + |* {poq+_+(* *) wit+fist} + |= jon+json (bind (wit jon) poq) :: ++ da :: UTC date - |= jon=json + |= jon+json ?. ?=([%s *] jon) ~ (bind (stud p.jon) |=(a=date (year a))) :: ++ di :: millisecond date %- cu :_ ni - |= a=@u ^- @da + |= a+@u ^- @da (add ~1970.1.1 (div (mul ~s1 a) 1.000)) :: ++ mu :: true unit - |* wit=fist - |= jon=json + |* wit+fist + |= jon+json ?~(jon (some ~) (bind (wit jon) some)) :: ++ ne :: number as real - |= jon=json + |= jon+json ^- (unit ,@rd) !! :: ++ ni :: number as integer - |= jon=json - ?. ?=([%n *] jon) ~ + |= jon+json + ?. ?=({$n *} jon) ~ (rush p.jon dem) :: ++ no :: number as cord - |= jon=json - ?. ?=([%n *] jon) ~ + |= jon+json + ?. ?=({$n *} jon) ~ (some p.jon) :: ++ of :: object as frond - |* wer=(pole ,[cord fist]) - |= jon=json - ?. ?=([%o [@ *] ~ ~] jon) ~ + |* wer+(pole {cord fist}) + |= jon+json + ?. ?=({$o {@ *} $~ $~} jon) ~ |- ?~ wer ~ ?: =(-.-.wer p.n.p.jon) @@ -858,15 +858,15 @@ ((of +.wer) jon) :: ++ ot :: object as tuple - |* wer=(pole ,[cord fist]) - |= jon=json - ?. ?=([%o *] jon) ~ + |* wer+(pole {cord fist}) + |= jon+json + ?. ?=({$o *} jon) ~ =+ raw=((ot-raw wer) p.jon) ?.((za raw) ~ (some (zp raw))) :: ++ ot-raw :: object as tuple - |* wer=(pole ,[cord fist]) - |= jom=(map ,@t json) + |* wer+(pole {cord fist}) + |= jom+(map @t json) ?~ wer ~ =+ ten=(~(get by jom) -.-.wer) [?~(ten ~ (+.-.wer u.ten)) ((ot-raw +.wer) jom)] @@ -874,40 +874,40 @@ ++ om :: object as map |* wit=fist |= jon=json - ?. ?=([%o *] jon) ~ + ?. ?=({$o *} jon) ~ (zm (~(run by p.jon) wit)) :: ++ op :: parse keys of map - |* [fel=rule wit=fist] + |* {fel+rule wit+fist} %+ cu mo %- ci :_ (om wit) - |= a=(map cord ,_(need *wit)) - ^- (unit (list ,_[(wonk *fel) (need *wit)])) + |= a+(map cord __((need *wit))) + ^- (unit (list __([(wonk *fel) (need *wit)]))) =- (zl (turn (~(tap by a)) -)) - |* [a=cord b=*] + |* {a+cord b+*} =+ nit=(rush a fel) ?~ nit ~ (some [u.nit b]) :: ++ pe :: prefix - |* [pre=* wit=fist] - (cu |*(a=* [pre a]) wit) + |* {pre+* wit+fist} + (cu |*(a+* [pre a]) wit) :: ++ sa :: string as tape - |= jon=json - ?.(?=([%s *] jon) ~ (some (trip p.jon))) + |= jon+json + ?.(?=({$s *} jon) ~ (some (trip p.jon))) :: ++ so :: string as cord |= jon=json - ?.(?=([%s *] jon) ~ (some p.jon)) + ?.(?=({$s *} jon) ~ (some p.jon)) :: ++ su :: parse string - |* sab=rule - |= jon=json - ?. ?=([%s *] jon) ~ + |* sab+rule + |= jon+json + ?. ?=({$s *} jon) ~ (rush p.jon sab) :: - ++ ul |=(jon=json ?~(jon (some ~) ~)) :: null + ++ ul |=(jon+json ?~(jon (some ~) ~)) :: null ++ za :: full unit pole |* pod=(pole (unit)) ?~ pod & @@ -915,7 +915,7 @@ (za +.pod) :: ++ zl :: collapse unit list - |* lut=(list (unit)) + |* lut+(list (unit)) ?. |- ^- ? ?~(lut & ?~(i.lut | $(lut t.lut))) ~ @@ -925,49 +925,49 @@ [i=u:+.i.lut t=$(lut t.lut)] :: ++ zp :: unit tuple - |* but=(pole (unit)) + |* but+(pole (unit)) ?~ but !! ?~ +.but u:->.but [u:->.but (zp +.but)] :: ++ zm :: collapse unit map - |* lum=(map term (unit)) - ?: (~(rep by lum) |=([[@ a=(unit)] b=_|] |(b ?=(~ a)))) + |* lum+(map term (unit)) + ?: (~(rep by lum) |=({{@ a=(unit)} b=__(|)} |(b ?=($~ a)))) ~ (some (~(run by lum) need)) -- :: ++ joba :: object from k-v pair - |= [p=@t q=json] + |= {p+@t q+json} ^- json [%o [[p q] ~ ~]] :: ++ jobe :: object from k-v list - |= a=(list ,[p=@t q=json]) + |= a+(list {p+@t q+json}) ^- json [%o (~(gas by *(map ,@t json)) a)] :: ++ jape :: string from tape - |= a=tape + |= a+tape ^- json [%s (crip a)] :: ++ jone :: number from unsigned - |= a=@u + |= a+@u ^- json :- %n ?: =(0 a) '0' (crip (flop |-(^-(tape ?:(=(0 a) ~ [(add '0' (mod a 10)) $(a (div a 10))]))))) :: ++ jode :: ms timestamp - |= a=time + |= a+time =- (jone (div (mul - 1.000) ~s1)) (add (div ~s1 2.000) (sub a ~1970.1.1)) :: ++ jesc - =+ utf=|=(a=@ ['\\' 'u' ((x-co 4):co a)]) - |= a=@ ^- tape + =+ utf=|=(a+@ ['\\' 'u' ((x-co 4):co a)]) + |= a+@ ^- tape ?+ a ?:((gth a 0x1f) [a ~] (utf a)) 10 "\\n" 34 "\\\"" @@ -975,11 +975,11 @@ == :: ++ scanf :: formatted scan - |* [tape (pole ,_:/(*$&(rule tape)))] + |* [tape (pole __(:/(*{_&(rule tape)})))] => .(+< [a b]=+<) (scan a (parsf b)) ++ parsf :: make parser from: - |^ |* a=(pole ,_:/(*$&(rule tape))) :: ;"chars{rule}chars" + |^ |* a=(pole __(:/(*{_&(rule tape)}))) :: ;"chars{rule}chars" %- cook :_ (bill (norm a)) |* (list) ?~ +< ~ @@ -988,7 +988,7 @@ :: :: .= (norm [;"{n}, {n}"]:n=dim:ag) ~[[& dim] [| ", "] [& dim]]:ag ++ norm - |* (pole ,_:/(*$&(rule tape))) + |* (pole __(:/(*{_&(rule tape)}))) ?~ +< ~ => .(+< [i=+<- t=+<+]) :_ t=$(+< t) @@ -1010,47 +1010,47 @@ -- :: ++ taco :: atom to octstream - |= tam=@ ^- octs + |= tam+@ ^- octs [(met 3 tam) tam] :: ++ tact :: tape to octstream - |= tep=tape ^- octs + |= tep+tape ^- octs (taco (rap 3 tep)) :: ++ tell :: wall to octstream - |= wol=wall ^- octs + |= wol+wall ^- octs =+ buf=(rap 3 (turn wol |=(a=tape (crip (weld a `tape`[`@`10 ~]))))) [(met 3 buf) buf] :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: section 3bF, filesystem interface :: :: ++ feel :: simple file write - |= [pax=path val=cage] + |= {pax+path val+cage} ^- miso =+ dir=((hard arch) .^(%cy pax)) ?~ fil.dir [%ins val] [%mut val] :: ++ file :: simple file load - |= pax=path + |= pax+path ^- (unit) =+ dir=((hard arch) .^(%cy pax)) ?~(fil.dir ~ [~ .^(%cx pax)]) :: ++ foal :: high-level write - |= [pax=path val=cage] + |= {pax+path val+cage} ^- toro ?> ?=([* * * *] pax) [i.t.pax [%& [[[t.t.t.pax (feel pax val)] ~]]]] :: ++ fray :: high-level delete - |= pax=path + |= pax+path ^- toro ?> ?=([* * * *] pax) [i.t.pax [%& [[[t.t.t.pax [%del ~]] ~]]]] :: ++ furl :: unify changes - |= [one=toro two=toro] + |= {one+toro two+toro} ^- toro ~| %furl ?> ?& =(p.one p.two) :: same path @@ -1059,7 +1059,7 @@ [p.one [%& (weld p.q.one p.q.two)]] :: ++ tame :: parse kite path - |= hap=path + |= hap+path ^- (unit kite) ?. ?=([@ @ @ @ *] hap) ~ =+ :* hyr=(slay i.hap) @@ -1071,70 +1071,70 @@ :: dyc=(slay i.t.t.t.hap) tyl=t.t.t.t.hap == - ?. ?=([~ %$ %tas @] hyr) ~ - ?. ?=([~ %$ %p @] fal) ~ - ?. ?=([~ %$ %tas @] dyc) ~ - ?. ?=([~ %$ case] ved) ~ + ?. ?=({$~ $$ $tas @} hyr) ~ + ?. ?=({$~ $$ $p @} fal) ~ + ?. ?=({$~ $$ $tas @} dyc) ~ + ?. ?=({$~ $$ case} ved) ~ =+ his=`@p`q.p.u.fal =+ [dis=(end 3 1 q.p.u.hyr) rem=(rsh 3 1 q.p.u.hyr)] - ?. ?&(?=(%c dis) ?=(?(%v %w %x %y %z) rem)) ~ + ?. ?&(?=($c dis) ?=(?($v $w $x $y $z) rem)) ~ [~ rem p.u.ved q.p.u.fal q.p.u.dyc tyl] :: ++ tome :: parse path to beam - |= pax=path + |= pax+path ^- (unit beam) - ?. ?=([* * * *] pax) ~ + ?. ?=({* * * *} pax) ~ %+ biff (slaw %p i.pax) |= who=ship %+ biff (slaw %tas i.t.pax) |= dex=desk %+ biff (slay i.t.t.pax) |= cis=coin - ?. ?=([%$ case] cis) ~ + ?. ?=({$$ case} cis) ~ `(unit beam)`[~ [who dex `case`p.cis] (flop t.t.t.pax)] :: ++ tope :: beam to path - |= bem=beam + |= bem+beam ^- path [(scot %p p.bem) q.bem (scot r.bem) (flop s.bem)] :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: section 3bG, URL handling :: :: ++ deft :: parse url extension - |= rax=(list ,@t) + |= rax+(list @t) |- ^- pork ?~ rax [~ ~] ?^ t.rax [p.pok [ire q.pok]]:[pok=$(rax t.rax) ire=i.rax] =+ ^- raf=(like term) - => |=(a=@ ((sand %tas) (crip (flop (trip a))))) + => |=(a+@ ((sand %tas) (crip (flop (trip a))))) (;~(sfix (sear . sym) dot) [1^1 (flop (trip i.rax))]) ?~ q.raf [~ [i.rax ~]] - =+ `[ext=term [@ @] fyl=tape]`u.q.raf + =+ `{ext+term {@ @} fyl+tape}`u.q.raf :- `ext ?:(=(~ fyl) ~ [(crip (flop fyl)) ~]) :: ++ fuel :: parse fcgi - |= [bem=beam but=path] + |= {bem+beam but+path} ^- epic - ?> ?=([%web @ *] but) + ?> ?=({$web @ *} but) =+ dyb=(slay i.t.but) - ?> ?& ?=([~ %many *] dyb) - ?=([* * *] p.u.dyb) - ?=([%$ %ta *] i.p.u.dyb) - ?=([%blob *] i.t.p.u.dyb) + ?> ?& ?=({$~ $many *} dyb) + ?=({* * *} p.u.dyb) + ?=({$$ $ta *} i.p.u.dyb) + ?=({$blob *} i.t.p.u.dyb) == =+ ced=((hard cred) p.i.t.p.u.dyb) :: =+ nep=q.p.i.p.u.dyb - =+ ^= gut ^- (list ,@t) + =+ ^= gut ^- (list @t) %+ turn t.t.p.u.dyb - |= a=coin ^- @t - ?> ?=([%$ %t @] a) + |= a+coin ^- @t + ?> ?=({$$ $t @} a) ?>(((sane %t) q.p.a) q.p.a) =+ ^= quy - |- ^- (list ,[p=@t q=@t]) + |- ^- (list {p+@t q+@t}) ?~ gut ~ ?> ?=(^ t.gut) [[i.gut i.t.gut] $(gut t.t.gut)] @@ -1161,13 +1161,13 @@ :: ++ ofis :: XX broken =- |=(a=cord (rash a fel)) - =< fel=(cook |=(a=@ `@t`(swap 3 a)) (bass 64 .)) + =< fel=(cook |+(a=@ `@t`(swap 3 a)) (bass 64 .)) =- (cook welp ;~(plug (plus siw) (stun 0^2 (cold %0 tis)))) ^= siw ;~ pose - (cook |=(a=@ (sub a 'A')) (shim 'A' 'Z')) - (cook |=(a=@ (sub a 'G')) (shim 'a' 'z')) - (cook |=(a=@ (add a 4)) (shim '0' '9')) + (cook |=(a+@ (sub a 'A')) (shim 'A' 'Z')) + (cook |=(a+@ (sub a 'G')) (shim 'a' 'z')) + (cook |=(a+@ (add a 4)) (shim '0' '9')) (cold 62 (just '+')) (cold 63 (just '/')) == @@ -1175,48 +1175,48 @@ :: .= ~[p=~.ack q=~.~sarnel r=~..y] :: (dray ~[p=%tas q=%p r=%f] %ack ~sarnel &) ++ dray :: load tuple into path - =- |* [a=[@tas (pole ,@tas)] b=*] ^- (paf a) + =- |* {a+{@tas (pole @tas)} b+*} ^- (paf a) => .(b `(tup a)`b) ?~ +.a [(scot -.a b) ~] [(scot -.a -.b) `(paf +.a)`(..$ +.a +.b)] - :- paf=|*(a=(pole) ?~(a ,~ ,[(odo:raid -.a(. %ta)) (..$ +.a)])) - tup=|*([a=@tas b=(pole ,@tas)] =+(c=(odo:raid a) ?~(b c ,[c (..$ b)]))) + :- paf=|*(a=(pole) ?~(a $~ {(odo:raid -.a(. %ta)) (..$ +.a)})) + tup=|*({a+@tas b+(pole @tas)} =+(c=(odo:raid a) ?~(b c {c (..$ b)}))) :: :: .= [p=%ack q=~sarnel r=&] :: (raid /ack/~sarnel/.y p=%tas q=%p r=%f ~) ++ raid :: demand path odors - =- |* [a=path b=[@tas (pole ,@tas)]] + =- |* {a+path b+{@tas (pole @tas)}} ?~ +.b `(odo -.b)`(slav -.b -.a) [`(odo -.b)`(slav -.b -.a) (..$ +.a +.b)] ^= odo - |* a=@tas - |= b=* + |* a+@tas + |= b+* =< a(. (. b)) :: preserve face - ?+ a ,@ - %c ,@c %da ,@da %dr ,@dr %f ,@f %if ,@if %is ,@is %p ,@p - %u ,@u %uc ,@uc %ub ,@ub %ui ,@ui %ux ,@ux %uv ,@uv %uw ,@uw - %s ,@s %t ,@t %ta ,@ta %tas ,@tas + ?+ a @ + $c @c $da @da $dr @dr $f @f $if @if $is @is $p @p + $u @u $uc @uc $ub @ub $ui @ui $ux @ux $uv @uv $uw @uw + $s @s $t @t $ta @ta $tas @tas == :: ++ read :: parse odored path - =< |*([a=path b=[@tas (pole ,@tas)]] ((+> b) a)) - |* b=[@tas (pole ,@tas)] - |= a=path + =< |*({a+path b+{@tas (pole @tas)}} ((+> b) a)) + |* b+{@tas (pole @tas)} + |= a+path ?~ a ~ =+ hed=(slaw -.b i.a) ?~ +.b ^- (unit (odo:raid -.b)) ?^(+.a ~ hed) - ^- (unit ,[(odo:raid -.b) _(need *(..^$ +.b))]) + ^- (unit {(odo:raid -.b) __((need *(..^$ +.b)))}) (both hed ((..^$ +.b) +.a)) :: ++ urle :: URL encode - |= tep=tape + |= tep+tape ^- tape %- zing %+ turn tep - |= tap=char - =+ xen=|=(tig=@ ?:((gte tig 10) (add tig 55) (add tig '0'))) + |= tap+char + =+ xen=|=(tig+@ ?:((gte tig 10) (add tig 55) (add tig '0'))) ?: ?| &((gte tap 'a') (lte tap 'z')) &((gte tap 'A') (lte tap 'Z')) &((gte tap '0') (lte tap '9')) @@ -1229,11 +1229,11 @@ ['%' (xen (rsh 0 4 tap)) (xen (end 0 4 tap)) ~] :: ++ urld :: URL decode - |= tep=tape + |= tep+tape ^- (unit tape) ?~ tep [~ ~] ?: =('%' i.tep) - ?. ?=([@ @ *] t.tep) ~ + ?. ?=({@ @ *} t.tep) ~ =+ nag=(mix i.t.tep (lsh 3 1 i.t.t.tep)) =+ val=(rush nag hex:ag) ?~ val ~ @@ -1247,7 +1247,7 @@ (weld (earn p) ?~(q "" `tape`['#' (trip u.q)])) :: ++ earl :: localize purl - |= [who=@p pul=purl] + |= {who+@p pul+purl} ^- purl pul(q.q [(rsh 3 1 (scot %p who)) q.q.pul]) :: @@ -1255,14 +1255,14 @@ =< |=(pul=purl `tape`(apex ~ pul)) |% ++ apex - |= qur=quri + |= qur+quri ?- -.qur %& (weld (head p.p.qur) `tape`['/' $(qur [%| +.p.qur])]) %| (weld (body p.qur) (tail q.qur)) == :: ++ body - |= pok=pork ^- tape + |= pok+pork ^- tape ?~ q.pok ~ |- =+ seg=(trip i.q.pok) @@ -1271,7 +1271,7 @@ (welp seg '/' $(q.pok t.q.pok)) :: ++ head - |= har=hart + |= har+hart ^- tape ;: weld ?:(&(p.har !?=(hoke r.har)) "https://" "http://") @@ -1287,7 +1287,7 @@ == :: ++ tail - |= kay=quay + |= kay+quay ^- tape ?: =(~ kay) ~ :- '?' @@ -1306,17 +1306,17 @@ %+ cook deft (ifix [fas ;~(pose fas (easy ~))] (more fas smeg)) ++ aurf :: 2396 with fragment - %+ cook |=(a=purf a) + %+ cook |+(a=purf a) ;~(plug auri (punt ;~(pfix hax (cook crip (star pque))))) ++ auri :: 2396 URL %+ cook - |= a=purl + |= a+purl ?.(?=(hoke r.p.a) a a(p.p &)) ;~ plug ;~ plug %+ sear - |= a=@t - ^- (unit ,?) + |= a+@t + ^- (unit ?) ?+(a ~ %http [~ %|], %https [~ %&]) ;~(sfix scem ;~(plug col fas fas)) thor @@ -1358,7 +1358,7 @@ ++ tosk ;~(pose tock (ifix [doq doq] tock)) :: 6265 cookie-value ++ toke (cook crip (plus ptok)) :: 2616 token ++ thor :: 2396 host/port - %+ cook |*(a=[* *] [+.a -.a]) + %+ cook |*(a+{* *} [+.a -.a]) ;~ plug thos ;~((bend) (easy ~) ;~(pfix col dim:ag)) @@ -1368,7 +1368,7 @@ ;~ pose %+ stag %& %+ sear :: LL parser weak here - |= a=(list ,@t) + |= a+(list @t) =+ b=(flop a) ?> ?=(^ b) =+ c=(end 3 1 i.b) @@ -1393,7 +1393,7 @@ ;~(plug fque ;~(pose ;~(pfix tis fquu) (easy ''))) :: %+ cook :: funky query - |=(a=tape [[%$ (crip a)] ~]) + |=(a+tape [[%$ (crip a)] ~]) (star pque) == ++ zest :: 2616 request-uri @@ -1403,13 +1403,13 @@ == -- ++ epur :: url/header parser - =>(urlp |=(a=cord `(unit purl)`(rush a auri))) + =>(urlp |=(a+cord `(unit purl)`(rush a auri))) :: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: section 3bH, names etc :: :: ++ clan :: ship to rank - |= who=ship ^- rank + |= who+ship ^- rank =+ wid=(met 3 who) ?: (lte wid 1) %czar ?: =(2 wid) %king @@ -1418,7 +1418,7 @@ ?> (lte wid 16) %pawn :: ++ glam :: carrier names - |= zar=@pD ^- tape + |= zar+@pD ^- tape %+ snag zar ^- (list tape) :~ "Tianming" "Pepin the Short" "Haile Selassie" "Alfred the Great" @@ -1481,214 +1481,214 @@ |= lag=lang ^- (unit tape) ?+ lag ~ - %aa [~ "Afar"] - %ab [~ "Abkhazian"] - %ae [~ "Avestan"] - %af [~ "Afrikaans"] - %ak [~ "Akan"] - %am [~ "Amharic"] - %an [~ "Aragonese"] - %ar [~ "Arabic"] - %as [~ "Assamese"] - %av [~ "Avaric"] - %ay [~ "Aymara"] - %az [~ "Azerbaijani"] - %ba [~ "Bashkir"] - %be [~ "Belarusian"] - %bg [~ "Bulgarian"] - %bh [~ "Bihari"] - %bi [~ "Bislama"] - %bm [~ "Bambara"] - %bn [~ "Bengali"] - %bo [~ "Tibetan"] - %br [~ "Breton"] - %bs [~ "Bosnian"] - %ca [~ "Catalan"] - %ce [~ "Chechen"] - %ch [~ "Chamorro"] - %co [~ "Corsican"] - %cr [~ "Cree"] - %cs [~ "Czech"] - %cu [~ "Slavonic"] - %cv [~ "Chuvash"] - %cy [~ "Welsh"] - %da [~ "Danish"] - %de [~ "German"] - %dv [~ "Maldivian"] - %dz [~ "Dzongkha"] - %ee [~ "Ewe"] - %el [~ "Greek"] - %en [~ "English"] - %eo [~ "Esperanto"] - %es [~ "Spanish"] - %et [~ "Estonian"] - %eu [~ "Basque"] - %fa [~ "Persian"] - %ff [~ "Fulah"] - %fi [~ "Finnish"] - %fj [~ "Fijian"] - %fo [~ "Faroese"] - %fr [~ "French"] - %fy [~ "Frisian"] - %ga [~ "Irish Gaelic"] - %gd [~ "Scottish Gaelic"] - %gl [~ "Galician"] - %gn [~ "Guarani"] - %gu [~ "Gujarati"] - %gv [~ "Manx"] - %ha [~ "Hausa"] - %he [~ "Hebrew"] - %hi [~ "Hindi"] - %ho [~ "Hiri Motu"] - %hr [~ "Croatian"] - %ht [~ "Haitian Creole"] - %hu [~ "Hungarian"] - %hy [~ "Armenian"] - %hz [~ "Herero"] - %ia [~ "Interlingua"] - %id [~ "Indonesian"] - %ie [~ "Occidental"] - %ig [~ "Igbo"] - %ii [~ "Nuosu"] - %ik [~ "Inupiaq"] - %io [~ "Ido"] - %is [~ "Icelandic"] - %it [~ "Italian"] - %iu [~ "Inuktitut"] - %ja [~ "Japanese"] - %jv [~ "Javanese"] - %ka [~ "Georgian"] - %kg [~ "Kongo"] - %ki [~ "Kikuyu"] - %kj [~ "Kwanyama"] - %kk [~ "Kazakh"] - %kl [~ "Kalaallisut"] - %km [~ "Central Khmer"] - %kn [~ "Kannada"] - %ko [~ "Korean"] - %kr [~ "Kanuri"] - %ks [~ "Kashmiri"] - %ku [~ "Kurdish"] - %kv [~ "Komi"] - %kw [~ "Cornish"] - %ky [~ "Kyrgyz"] - %la [~ "Latin"] - %lb [~ "Luxembourgish"] - %lg [~ "Ganda"] - %li [~ "Limburgish"] - %ln [~ "Lingala"] - %lo [~ "Lao"] - %lt [~ "Lithuanian"] - %lu [~ "Luba-Katanga"] - %lv [~ "Latvian"] - %mg [~ "Malagasy"] - %mh [~ "Marshallese"] - %mi [~ "Maori"] - %mk [~ "Macedonian"] - %ml [~ "Malayalam"] - %mn [~ "Mongolian"] - %mr [~ "Marathi"] - %ms [~ "Malay"] - %mt [~ "Maltese"] - %my [~ "Burmese"] - %na [~ "Nauru"] - %nb [~ "Norwegian Bokmål"] - %nd [~ "North Ndebele"] - %ne [~ "Nepali"] - %ng [~ "Ndonga"] - %nl [~ "Dutch"] - %nn [~ "Norwegian Nynorsk"] - %no [~ "Norwegian"] - %nr [~ "South Ndebele"] - %nv [~ "Navajo"] - %ny [~ "Chichewa"] - %oc [~ "Occitan"] - %oj [~ "Ojibwa"] - %om [~ "Oromo"] - %or [~ "Oriya"] - %os [~ "Ossetian"] - %pa [~ "Punjabi"] - %pi [~ "Pali"] - %pl [~ "Polish"] - %ps [~ "Pashto"] - %pt [~ "Portuguese"] - %qu [~ "Quechua"] - %rm [~ "Romansh"] - %rn [~ "Rundi"] - %ro [~ "Romanian"] - %ru [~ "Russian"] - %rw [~ "Kinyarwanda"] - %sa [~ "Sanskrit"] - %sc [~ "Sardinian"] - %sd [~ "Sindhi"] - %se [~ "Northern Sami"] - %sg [~ "Sango"] - %si [~ "Sinhala"] - %sk [~ "Slovak"] - %sl [~ "Slovenian"] - %sm [~ "Samoan"] - %sn [~ "Shona"] - %so [~ "Somali"] - %sq [~ "Albanian"] - %sr [~ "Serbian"] - %ss [~ "Swati"] - %st [~ "Sotho"] - %su [~ "Sundanese"] - %sv [~ "Swedish"] - %sw [~ "Swahili"] - %ta [~ "Tamil"] - %te [~ "Telugu"] - %tg [~ "Tajik"] - %th [~ "Thai"] - %ti [~ "Tigrinya"] - %tk [~ "Turkmen"] - %tl [~ "Tagalog"] - %tn [~ "Tswana"] - %to [~ "Tonga"] - %tr [~ "Turkish"] - %ts [~ "Tsonga"] - %tt [~ "Tatar"] - %tw [~ "Twi"] - %ty [~ "Tahitian"] - %ug [~ "Uighur"] - %uk [~ "Ukrainian"] - %ur [~ "Urdu"] - %uz [~ "Uzbek"] - %ve [~ "Venda"] - %vi [~ "Vietnamese"] - %vo [~ "Volapük"] - %wa [~ "Walloon"] - %wo [~ "Wolof"] - %xh [~ "Xhosa"] - %yi [~ "Yiddish"] - %yo [~ "Yoruba"] - %za [~ "Zhuang"] - %zh [~ "Chinese"] - %zu [~ "Zulu"] + $aa [~ "Afar"] + $ab [~ "Abkhazian"] + $ae [~ "Avestan"] + $af [~ "Afrikaans"] + $ak [~ "Akan"] + $am [~ "Amharic"] + $an [~ "Aragonese"] + $ar [~ "Arabic"] + $as [~ "Assamese"] + $av [~ "Avaric"] + $ay [~ "Aymara"] + $az [~ "Azerbaijani"] + $ba [~ "Bashkir"] + $be [~ "Belarusian"] + $bg [~ "Bulgarian"] + $bh [~ "Bihari"] + $bi [~ "Bislama"] + $bm [~ "Bambara"] + $bn [~ "Bengali"] + $bo [~ "Tibetan"] + $br [~ "Breton"] + $bs [~ "Bosnian"] + $ca [~ "Catalan"] + $ce [~ "Chechen"] + $ch [~ "Chamorro"] + $co [~ "Corsican"] + $cr [~ "Cree"] + $cs [~ "Czech"] + $cu [~ "Slavonic"] + $cv [~ "Chuvash"] + $cy [~ "Welsh"] + $da [~ "Danish"] + $de [~ "German"] + $dv [~ "Maldivian"] + $dz [~ "Dzongkha"] + $ee [~ "Ewe"] + $el [~ "Greek"] + $en [~ "English"] + $eo [~ "Esperanto"] + $es [~ "Spanish"] + $et [~ "Estonian"] + $eu [~ "Basque"] + $fa [~ "Persian"] + $ff [~ "Fulah"] + $fi [~ "Finnish"] + $fj [~ "Fijian"] + $fo [~ "Faroese"] + $fr [~ "French"] + $fy [~ "Frisian"] + $ga [~ "Irish Gaelic"] + $gd [~ "Scottish Gaelic"] + $gl [~ "Galician"] + $gn [~ "Guarani"] + $gu [~ "Gujarati"] + $gv [~ "Manx"] + $ha [~ "Hausa"] + $he [~ "Hebrew"] + $hi [~ "Hindi"] + $ho [~ "Hiri Motu"] + $hr [~ "Croatian"] + $ht [~ "Haitian Creole"] + $hu [~ "Hungarian"] + $hy [~ "Armenian"] + $hz [~ "Herero"] + $ia [~ "Interlingua"] + $id [~ "Indonesian"] + $ie [~ "Occidental"] + $ig [~ "Igbo"] + $ii [~ "Nuosu"] + $ik [~ "Inupiaq"] + $io [~ "Ido"] + $is [~ "Icelandic"] + $it [~ "Italian"] + $iu [~ "Inuktitut"] + $ja [~ "Japanese"] + $jv [~ "Javanese"] + $ka [~ "Georgian"] + $kg [~ "Kongo"] + $ki [~ "Kikuyu"] + $kj [~ "Kwanyama"] + $kk [~ "Kazakh"] + $kl [~ "Kalaallisut"] + $km [~ "Central Khmer"] + $kn [~ "Kannada"] + $ko [~ "Korean"] + $kr [~ "Kanuri"] + $ks [~ "Kashmiri"] + $ku [~ "Kurdish"] + $kv [~ "Komi"] + $kw [~ "Cornish"] + $ky [~ "Kyrgyz"] + $la [~ "Latin"] + $lb [~ "Luxembourgish"] + $lg [~ "Ganda"] + $li [~ "Limburgish"] + $ln [~ "Lingala"] + $lo [~ "Lao"] + $lt [~ "Lithuanian"] + $lu [~ "Luba-Katanga"] + $lv [~ "Latvian"] + $mg [~ "Malagasy"] + $mh [~ "Marshallese"] + $mi [~ "Maori"] + $mk [~ "Macedonian"] + $ml [~ "Malayalam"] + $mn [~ "Mongolian"] + $mr [~ "Marathi"] + $ms [~ "Malay"] + $mt [~ "Maltese"] + $my [~ "Burmese"] + $na [~ "Nauru"] + $nb [~ "Norwegian Bokmål"] + $nd [~ "North Ndebele"] + $ne [~ "Nepali"] + $ng [~ "Ndonga"] + $nl [~ "Dutch"] + $nn [~ "Norwegian Nynorsk"] + $no [~ "Norwegian"] + $nr [~ "South Ndebele"] + $nv [~ "Navajo"] + $ny [~ "Chichewa"] + $oc [~ "Occitan"] + $oj [~ "Ojibwa"] + $om [~ "Oromo"] + $or [~ "Oriya"] + $os [~ "Ossetian"] + $pa [~ "Punjabi"] + $pi [~ "Pali"] + $pl [~ "Polish"] + $ps [~ "Pashto"] + $pt [~ "Portuguese"] + $qu [~ "Quechua"] + $rm [~ "Romansh"] + $rn [~ "Rundi"] + $ro [~ "Romanian"] + $ru [~ "Russian"] + $rw [~ "Kinyarwanda"] + $sa [~ "Sanskrit"] + $sc [~ "Sardinian"] + $sd [~ "Sindhi"] + $se [~ "Northern Sami"] + $sg [~ "Sango"] + $si [~ "Sinhala"] + $sk [~ "Slovak"] + $sl [~ "Slovenian"] + $sm [~ "Samoan"] + $sn [~ "Shona"] + $so [~ "Somali"] + $sq [~ "Albanian"] + $sr [~ "Serbian"] + $ss [~ "Swati"] + $st [~ "Sotho"] + $su [~ "Sundanese"] + $sv [~ "Swedish"] + $sw [~ "Swahili"] + $ta [~ "Tamil"] + $te [~ "Telugu"] + $tg [~ "Tajik"] + $th [~ "Thai"] + $ti [~ "Tigrinya"] + $tk [~ "Turkmen"] + $tl [~ "Tagalog"] + $tn [~ "Tswana"] + $to [~ "Tonga"] + $tr [~ "Turkish"] + $ts [~ "Tsonga"] + $tt [~ "Tatar"] + $tw [~ "Twi"] + $ty [~ "Tahitian"] + $ug [~ "Uighur"] + $uk [~ "Ukrainian"] + $ur [~ "Urdu"] + $uz [~ "Uzbek"] + $ve [~ "Venda"] + $vi [~ "Vietnamese"] + $vo [~ "Volapük"] + $wa [~ "Walloon"] + $wo [~ "Wolof"] + $xh [~ "Xhosa"] + $yi [~ "Yiddish"] + $yo [~ "Yoruba"] + $za [~ "Zhuang"] + $zh [~ "Chinese"] + $zu [~ "Zulu"] == :: ++ gnom :: ship display name - |= [[our=@p now=@da] him=@p] ^- @t + |= {{our+@p now+@da} him+@p} ^- @t =+ yow=(scot %p him) =+ pax=[(scot %p our) %name (scot %da now) yow ~] - =+ woy=((hard ,@t) .^(%a pax)) + =+ woy=((hard @t) .^(%a pax)) ?: =(%$ woy) yow (rap 3 yow ' ' woy ~) :: ++ gnow |= [who=@p gos=gcos] ^- @t ?- -.gos - %czar (rap 3 '|' (rap 3 (glam who)) '|' ~) - %king (rap 3 '_' p.gos '_' ~) - %earl (rap 3 ':' p.gos ':' ~) - %pawn ?~(p.gos %$ (rap 3 '.' u.p.gos '.' ~)) - %duke - ?: ?=(%anon -.p.gos) %$ + $czar (rap 3 '|' (rap 3 (glam who)) '|' ~) + $king (rap 3 '_' p.gos '_' ~) + $earl (rap 3 ':' p.gos ':' ~) + $pawn ?~(p.gos %$ (rap 3 '.' u.p.gos '.' ~)) + $duke + ?: ?=($anon -.p.gos) %$ %+ rap 3 ^- (list ,@) ?- -.p.gos - %punk ~['"' q.p.gos '"'] - ?(%lord %lady) + $punk ~['"' q.p.gos '"'] + ?($lord $lady) =+ ^= nad =+ nam=`name`s.p.p.gos %+ rap 3 @@ -1702,7 +1702,7 @@ == == ++ pale :: filter peers - |= [hid=bowl fun=$+(sink ?)] + |= {hid+bowl fun+_+(sink ?)} (skim (~(tap by sup.hid)) fun) :: ++ prix :: filter gate @@ -1712,8 +1712,8 @@ :: ++ prey |=([pax=path hid=bowl] (pale hid (prix pax))) :: prefix ++ hunt :: first of unit dates - |= [one=(unit ,@da) two=(unit ,@da)] - ^- (unit ,@da) + |= {one+(unit @da) two+(unit @da)} + ^- (unit @da) ?~ one two ?~ two one ?:((lth u.one u.two) one two) @@ -1735,8 +1735,8 @@ :: [%& p.u.q.p.mud] :: :: ++ mole :: new to old sky - |= ska=$+(* (unit (unit))) - |= a=* + |= ska+_+(* (unit (unit))) + |= a+* ^- (unit) =+ b=(ska a) ?~ b ~ @@ -1758,45 +1758,45 @@ :: (mule |.((slam p.mud sam))) :: :: ++ pack :: light path encoding - |= [a=term b=path] ^- span + |= {a+term b+path} ^- span %+ rap 3 :- (wack a) (turn b |=(c=span (cat 3 '_' (wack c)))) :: ++ puck :: light path decoding =+ fel=(most cab (sear wick urt:ab)) - |=(a=span `(unit ,[p=term q=path])`(rush a fel)) + |=(a+span `(unit {p+term q+path})`(rush a fel)) :: ++ saxo :: autocanon - |= who=ship + |= who+ship ^- (list ship) ?: (lth who 256) [who ~] [who $(who (sein who))] :: ++ sein :: autoboss - |= who=ship ^- ship + |= who+ship ^- ship =+ mir=(clan who) ?- mir - %czar who - %king (end 3 1 who) - %duke (end 4 1 who) - %earl (end 5 1 who) - %pawn `@p`0 + $czar who + $king (end 3 1 who) + $duke (end 4 1 who) + $earl (end 5 1 who) + $pawn `@p`0 == :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: section 3bI, Arvo structures :: :: ++ acru :: asym cryptosuite - $_ ^? |% :: opaque object + __ ^? |% :: opaque object ++ as ^? :: asym ops - |% ++ seal |=([a=pass b=@ c=@] *@) :: encrypt to a - ++ sign |=([a=@ b=@] *@) :: certify as us - ++ sure |=([a=@ b=@] *(unit ,@)) :: authenticate from us - ++ tear |= [a=pass b=@] :: accept from a - *(unit ,[p=@ q=@]) :: + |% ++ seal |=({a+pass b+@ c+@} *@) :: encrypt to a + ++ sign |=({a+@ b+@} *@) :: certify as us + ++ sure |=({a+@ b+@} *(unit @)) :: authenticate from us + ++ tear |= {a+pass b+@} :: accept from a + *(unit {p+@ q+@}) :: -- :: - ++ de |+([a=@ b=@] *(unit ,@)) :: symmetric de, soft - ++ dy |+([a=@ b=@] *@) :: symmetric de, hard - ++ en |+([a=@ b=@] *@) :: symmetric en + ++ de |+({a+@ b+@} *(unit @)) :: symmetric de, soft + ++ dy |+({a+@ b+@} *@) :: symmetric de, hard + ++ en |+({a+@ b+@} *@) :: symmetric en ++ ex ^? :: export |% ++ fig *@uvH :: fingerprint ++ pac *@uvG :: default passcode @@ -1804,243 +1804,186 @@ ++ sec *ring :: private key -- :: ++ nu ^? :: reconstructors - |% ++ pit |=([a=@ b=@] ^?(..nu)) :: from [width seed] - ++ nol |=(a=@ ^?(..nu)) :: from naked ring - ++ com |=(a=@ ^?(..nu)) :: from naked pass + |% ++ pit |=({a+@ b+@} ^?(..nu)) :: from [width seed] + ++ nol |=(a+@ ^?(..nu)) :: from naked ring + ++ com |=(a+@ ^?(..nu)) :: from naked pass -- :: -- :: ++ aeon ,@ud :: -++ agon (map ,[p=ship q=desk] ,[p=@ud q=@ud r=waks]) :: mergepts +++ agon (map {p+ship q+desk} {p+@ud q+@ud r+waks}) :: mergepts ++ ankh :: fs node (new) - $: fil=(unit ,[p=lobe q=cage]) :: file - dir=(map ,@ta ankh) :: folders + _: fil+(unit {p+lobe q+cage}) :: file + dir+(map @ta ankh) :: folders == :: -++ apex ,[p=@uvI q=(map ,@ta ,@uvI) r=(map ,@ta ,~)] :: node report (old) -++ ares (unit ,[p=term q=(list tank)]) :: possible error -++ ball ,@uw :: statement payload -++ bait ,[p=skin q=@ud r=dove] :: fmt nrecvd spec +++ apex {p+@uvI q+(map @ta @uvI) r+(map @ta $~)} :: node report (old) +++ ares (unit {p+term q+(list tank)}) :: possible error +++ ball @uw :: statement payload +++ bait {p+skin q+@ud r+dove} :: fmt nrecvd spec ++ bath :: convo per client - $: sop=shed :: not stalled - raz=(map path race) :: statements inbound - ryl=(map path rill) :: statements outbound + _: sop+shed :: not stalled + raz+(map path race) :: statements inbound + ryl+(map path rill) :: statements outbound == :: -++ beam ,[[p=ship q=desk r=case] s=path] :: global name -++ beak ,[p=ship q=desk r=case] :: garnish with beak +++ beam {{p+ship q+desk r+case} s+path} :: global name +++ beak {p+ship q+desk r+case} :: garnish with beak ++ bird :: packet in travel - $: gom=soap :: message identity - mup=@ud :: pktno in msg - nux=@ud :: xmission count - lys=@da :: last sent - pac=rock :: packet data + _: gom+soap :: message identity + mup+@ud :: pktno in msg + nux+@ud :: xmission count + lys+@da :: last sent + pac+rock :: packet data == :: ++ bitt (map bone (pair ship path)) :: incoming subs ++ blob :: fs blob - $% [%delta p=lobe q=[p=mark q=lobe] r=page] :: delta on q - [%direct p=lobe q=page] :: immediate + _% {$delta p+lobe q+{p+mark q+lobe} r+page} :: delta on q + {$direct p+lobe q+page} :: immediate == :: ++ boat (map (pair bone wire) (trel bean ship path)) :: outgoing subs ++ boon :: fort output - $% [%beer p=ship q=@uvG] :: gained ownership - [%cake p=sock q=soap r=coop s=duct] :: e2e message result - [%coke p=sock q=soap r=cape s=duct] :: message result - [%mead p=lane q=rock] :: accept packet - [%milk p=sock q=soap r=*] :: accept message - [%mulk p=sock q=soap r=*] :: e2e pass message - [%ouzo p=lane q=rock] :: transmit packet - [%wine p=sock q=tape] :: notify user + _% {$beer p+ship q+@uvG} :: gained ownership + {$cake p+sock q+soap r+coop s+duct} :: e2e message result + {$coke p+sock q+soap r+cape s+duct} :: message result + {$mead p+lane q+rock} :: accept packet + {$milk p+sock q+soap r+*} :: accept message + {$mulk p+sock q+soap r+*} :: e2e pass message + {$ouzo p+lane q+rock} :: transmit packet + {$wine p+sock q+tape} :: notify user == :: ++ bowl :: standard app state - $: $: our=ship :: host - src=ship :: guest - dap=term :: agent + _: _: our+ship :: host + src+ship :: guest + dap+term :: agent == :: - $: wex=boat :: outgoing subs - sup=bitt :: incoming subs + _: wex+boat :: outgoing subs + sup+bitt :: incoming subs == :: - $: ost=bone :: opaque cause - act=@ud :: change number - eny=@uvI :: entropy - now=@da :: current time - byk=beak :: load source + _: ost+bone :: opaque cause + act+@ud :: change number + eny+@uvI :: entropy + now+@da :: current time + byk+beak :: load source == == :: -++ bray ,[p=life q=(unit life) r=ship s=@da] :: our parent us now -++ brow ,[p=@da q=@tas] :: browser version -++ buck ,[p=mace q=will] :: all security data -++ cake ,[p=sock q=skin r=@] :: top level packet +++ bray {p+life q+(unit life) r+ship s+@da} :: our parent us now +++ brow {p+@da q+@tas} :: browser version +++ buck {p+mace q+will} :: all security data +++ cake {p+sock q+skin r+@} :: top level packet ++ cape :: end-to-end result - $? %good :: delivered - %dead :: rejected + _? $good :: delivered + $dead :: rejected == :: -++ care ?(%u %v %w %x %y %z) :: clay submode +++ care ?($u $v $w $x $y $z) :: clay submode ++ case :: ship desk case spur - $% [%da p=@da] :: date - [%tas p=@tas] :: label - [%ud p=@ud] :: number + _% {$da p+@da} :: date + {$tas p+@tas} :: label + {$ud p+@ud} :: number == :: -++ chum ,@uvI :: hashed passcode +++ chum @uvI :: hashed passcode ++ clot :: symmetric record - $: yed=(unit ,[p=hand q=code]) :: outbound - heg=(map hand code) :: proposed - qim=(map hand code) :: inbound + _: yed+(unit {p+hand q+code}) :: outbound + heg+(map hand code) :: proposed + qim+(map hand code) :: inbound == :: -++ coal ,* :: untyped vase -++ code ,@uvI :: symmetric key +++ coal * :: untyped vase +++ code @uvI :: symmetric key ++ cone :: reconfiguration - $% [& p=twig] :: transform - [| p=(list ,@tas)] :: alter + _% {$& p+twig} :: transform + {$| p+(list @tas)} :: alter == :: -++ chum ,@uvI :: hashed passcode +++ chum @uvI :: hashed passcode ++ claw :: startup chain - $: joy=(unit coal) :: local context - ran=(unit coal) :: arguments - pux=(unit path) :: execution path - jiv=(unit coal) :: app configuration - kyq=(unit coal) :: app customization - gam=(unit coal) :: app image + _: joy+(unit coal) :: local context + ran+(unit coal) :: arguments + pux+(unit path) :: execution path + jiv+(unit coal) :: app configuration + kyq+(unit coal) :: app customization + gam+(unit coal) :: app image == :: -++ clip (each ,@if ,@is) :: client IP -++ coal ,* :: untyped vase -++ code ,@uvI :: symmetric key +++ clip (each @if @is) :: client IP +++ coal * :: untyped vase +++ code @uvI :: symmetric key ++ cone :: reconfiguration - $% [& p=twig] :: transform - [| p=(list ,@tas)] :: alter + _% {$& p+twig} :: transform + {$| p+(list @tas)} :: alter == :: ++ coop (unit ares) :: e2e ack ++ corn :: flow by server - $: hen=duct :: admin channel - nys=(map flap bait) :: packets incoming - olz=(map flap cape) :: packets completed - wab=(map ship bath) :: relationship + _: hen+duct :: admin channel + nys+(map flap bait) :: packets incoming + olz+(map flap cape) :: packets completed + wab+(map ship bath) :: relationship == :: ++ cred :: credential - $: hut=hart :: client host - aut=(jug ,@tas ,@t) :: client identities - orx=oryx :: CSRF secret - acl=(unit ,@t) :: accept-language - cip=(each ,@if ,@is) :: client IP - cum=(map ,@tas ,*) :: custom dirt + _: hut+hart :: client host + aut+(jug @tas @t) :: client identities + orx+oryx :: CSRF secret + acl+(unit @t) :: accept-language + cip+(each @if @is) :: client IP + cum+(map @tas *) :: custom dirt == :: -++ deed ,[p=@ q=step r=?] :: sig, stage, fake? +++ deed {p+@ q+step r+?} :: sig stage fake? ++ dome :: project state - $: ank=ankh :: state - let=@ud :: top id - hit=(map ,@ud tako) :: changes by id - lab=(map ,@tas ,@ud) :: labels + _: ank+ankh :: state + let+@ud :: top id + hit+(map @ud tako) :: changes by id + lab+(map @tas @ud) :: labels == :: ++ dore :: foreign contact - $: wod=road :: connection to - wyl=will :: inferred mirror - caq=clot :: symmetric key state + _: wod+road :: connection to + wyl+will :: inferred mirror + caq+clot :: symmetric key state == :: -++ dove ,[p=@ud q=(map ,@ud ,@)] :: count hash 13-blocks +++ dove {p+@ud q+(map @ud @)} :: count hash 13-blocks ++ epic :: FCGI parameters - $: qix=(map ,@t ,@t) :: query - ced=cred :: client credentials - bem=beam :: original path - but=path :: ending + _: qix+(map @t @t) :: query + ced+cred :: client credentials + bem+beam :: original path + but+path :: ending == :: -++ flap ,@uvH :: network packet id +++ flap @uvH :: network packet id ++ flow :: packet connection - $: rtt=@dr :: decaying avg rtt - wid=@ud :: logical wdow msgs + _: rtt+@dr :: decaying avg rtt + wid+@ud :: logical wdow msgs == :: ++ fort :: formal state - $: %0 :: version - gad=duct :: client interface - hop=@da :: network boot date - ton=town :: security - zac=(map ship corn) :: flows by server + _: $0 :: version + gad+duct :: client interface + hop+@da :: network boot date + ton+town :: security + zac+(map ship corn) :: flows by server == :: ++ gank (each vase (list tank)) :: abstract result -++ gift :: one-way effect - $% [%$ p=vase] :: trivial output - [%cc p=(unit case)] :: change case - [%ck p=@tas] :: change desk - [%cs p=path] :: change spur - [%de p=@ud q=tank] :: debug/level - [%ex p=(unit vase) q=lath] :: exec/patch - ::[%fd p=vase] :: fundamental down - ::[%fo p=vase] :: fundamental forward - ::[%fu p=vase] :: fundamental up - [%ha p=tank] :: single error - [%ho p=(list tank)] :: multiple error - [%la p=tank] :: single statement - [%lo p=(list tank)] :: multiple statement - [%mu p=type q=(list)] :: batch emit - [%mx p=(list gift)] :: batch gift - [%ok p=@ta q=nori] :: save changes - [%og p=@ta q=mizu] :: save direct - [%sc p=(unit skit)] :: stack library - [%sp p=(list lark)] :: spawn task(s) - [%sq p=ship q=@tas r=path s=*] :: send request - [%sr p=ship q=path r=*] :: send response - [%te p=(list ,@t)] :: dump lines - [%th p=@ud q=love] :: http response - [%tq p=path q=hiss] :: http request - [%va p=@tas q=(unit vase)] :: set/clear variable - [%xx p=curd] :: return card - [%xy p=path q=curd] :: push card - [%zz p=path q=path r=curd] :: - == :: -++ gilt ,[@tas *] :: presumed gift -++ gens ,[p=lang q=gcos] :: general identity +++ gilt {@tas *} :: presumed gift +++ gens {p+lang q+gcos} :: general identity ++ germ :: merge style - $? %init :: new desk - %this :: ours with parents - %that :: hers with parents - %fine :: fast forward - %meet :: orthogonal files - %mate :: orthogonal changes - %meld :: force merge + _? $init :: new desk + $this :: ours with parents + $that :: hers with parents + $fine :: fast forward + $meet :: orthogonal files + $mate :: orthogonal changes + $meld :: force merge == :: ++ gcos :: id description - $% [%czar ~] :: 8-bit ship - [%duke p=what] :: 32-bit ship - [%earl p=@t] :: 64-bit ship - [%king p=@t] :: 16-bit ship - [%pawn p=(unit ,@t)] :: 128-bit ship - == :: -++ goad :: common note - $% [%eg p=riot] :: simple result - [%gr p=mark q=*] :: gall rush/rust - [%hp p=httr] :: http response - :: [%ht p=@ud q=scab r=cred s=moth] :: http request - [%it p=~] :: interrupt event - [%lq p=ship q=path r=*] :: client request - [%ly p=newt q=tape] :: lifecycle event - [%ow p=cape] :: one-way reaction - [%rt p=(unit)] :: roundtrip response - [%up p=@t] :: prompt response - [%wa ~] :: alarm - == :: -++ goal :: app request - $% [%$ p=type] :: open for input - [%do p=vase q=vase] :: call gate sample - [%eg p=kite] :: single request - [%es p=ship q=desk r=rave] :: subscription - [%gr ~] :: gall response - [%ht p=(list rout)] :: http server - [%hp ~] :: http response - [%lq p=@tas] :: listen for service - [%ow ~] :: one-way reaction - [%rt ~] :: roundtrip response - [%up p=prod] :: user prompt - [%wa p=@da] :: alarm + _% {$czar ~} :: 8-bit ship + {$duke p+what} :: 32-bit ship + {$earl p+@t} :: 64-bit ship + {$king p+@t} :: 16-bit ship + {$pawn p+(unit @t)} :: 128-bit ship == :: ++ govt path :: country/postcode -++ hand ,@uvH :: hash of code -++ hart ,[p=? q=(unit ,@ud) r=host] :: http sec/port/host -++ hate ,[p=purl q=@p r=moth] :: semi-cooked request -++ heir ,[p=@ud q=mess r=(unit love)] :: status/headers/data -++ hiss ,[p=purl q=moth] :: outbound request -++ hist ,[p=@ud q=(list ,@t)] :: depth texts -++ hole ,@t :: session identity -++ hort ,[p=(unit ,@ud) q=host] :: http port/host -++ host $%([& p=(list ,@t)] [| p=@if]) :: http host +++ hand @uvH :: hash of code +++ hart {p+? q+(unit @ud) r+host} :: http sec/port/host +++ hate {p+purl q+@p r+moth} :: semi-cooked request +++ heir {p+@ud q+mess r+(unit love)} :: status/headers/data +++ hiss {p+purl q+moth} :: outbound request +++ hist {p+@ud q+(list @t)} :: depth texts +++ hole @t :: session identity +++ hort {p+(unit @ud) q+host} :: http port/host +++ host (each (list @t) @if) :: http host ++ hoke %+ each ,[%localhost ~] :: local host - ?(%.0.0.0.0 %.127.0.0.1) :: + ?($.0.0.0.0 $.127.0.0.1) :: ++ httq :: raw http request - $: p=meth :: method + _: p=meth :: method q=@t :: unparsed url r=(list ,[p=@t q=@t]) :: headers s=(unit octs) :: body