diff --git a/arvo/eyre.hoon b/arvo/eyre.hoon index 210ce60db3..4b21253c17 100644 --- a/arvo/eyre.hoon +++ b/arvo/eyre.hoon @@ -57,6 +57,7 @@ == :: $% [%err p=@ud q=(list tank)] :: error report [%fin p=love] :: ready to send + [%fud p=(each beet (list tank))] :: function finished [%haz p=riot] :: clay responded [%raw p=hiss] :: wild url [%who p=@tas q=@ta] :: awaiting auth @@ -107,6 +108,12 @@ =+ zeb=(~(get by mah) cus) $(hed t.hed, mah (~(put by mah) cus ?~(zeb [q.i.hed ~] [q.i.hed u.zeb]))) :: +++ lopo :: cage to love + |= cay=cage + ^- love + ?> ?=(%mime p.cay) + ((hard love) [%mid q.q.cay]) +:: ++ loga :: tanks to manx |= [til=tape mog=(list manx) tac=(list tank)] ^- manx @@ -201,6 +208,12 @@ ~ == == + :: + %made + ?. ?=([%hoot @ @ ~] tea) + +.$ + ?> ?=(^ wru) + (galt q.u.wru i.t.tea (need (slaw %ud i.t.t.tea)) p.fav) :: %that :: outbound response ?> ?=([@ @ @ ~] tea) :: @@ -308,6 +321,15 @@ ^- httr [sas ~[content-type/'text/plain'] [~ (tact str)]] :: + ++ galt + |= [our=ship ses=hole num=@ud mez=(each beet (list tank))] + ^+ +> + =+ suf=(~(get by own) our) + ?~ suf +>.$ + =+ cuz=(~(get by wup.u.suf) ses) + ?~ cuz +>.$ + abet:work:(~(inch ya [our ses] u.suf u.cuz) num mez) + :: ++ goat |= [our=ship ses=hole num=@ud fav=card] =+ suf=(~(get by own) our) @@ -328,7 +350,7 @@ fon (~(put by fon) him u.ryt(q.rem (~(del by q.rem.u.ryt) num))) == :: - ++ gout + ++ gout :: receive %clay |= [our=ship ses=hole num=@ud rot=riot] ^+ +> =+ suf=(~(get by own) our) @@ -396,6 +418,16 @@ [%warp our rif] == :: + ++ honk :: ford request + |= [our=ship num=@ud ses=hole kas=silk] + %_ +> + mow + :_ mow + :+ [~ %gold our] + [/f [%e %honk ses (scot %ud num) ~] hen] + [%exec kas] + == + :: ++ hops :: cancel remote |= [him=ship num=@] ^+ +> @@ -1071,6 +1103,16 @@ ?. ?=(%det -.som.u.pup) +>.$ +>.$(..ya (hoot our num ses `riff`[p.som.u.pup ~])) :: + ++ inch :: function built + |= [num=@ud mez=(each beet (list tank))] + ^+ +> + =+ pup=(~(get by q.rey) num) + ?~ pup + ~& [%inch-lost ses num mez] + +>.$ + ?> ?=(%way pez.u.pup) + +>.$(q.rey (~(put by q.rey) num u.pup(pez [%fud mez]))) + :: ++ into :: introduce |= [pul=purl moh=moth] ^+ +> @@ -1650,29 +1692,14 @@ :: %det :- [~ pip(pez %way)] - =+ rif=`riff`[p.som.pip ~ [%| q.som.pip]] - +>.$(..ya (hoot our num ses rif)) + +>.$(..ya (hoot our num ses [p.som.pip ~ [%| q.som.pip]])) :: %fun - =^ syt +>.$ (lude p.som.pip q.som.pip) - :_ +>.$ - :- ~ - %= pip - pez - ^- pest - ?~ syt - [%err 404 [[%leaf "{} not found"] ~]] - ?- -.u.syt - | =+ mad=(loga "server error" r.som.pip p.u.syt) - :- %fin - :- %raw - ^- httr - :+ 500 - ~[content-type/'text/html'] - [~ (tact (xmlt | mad ~))] - & [%fin (lofi r.som.pip p.u.syt)] - == - == + :- [~ pip(pez %way)] + =+ bem=`beam`(need (tome q.som.pip)) + =+ bek=`beak`[p.bem q.bem r.bem] + =+ kas=`silk`[%cast %mime bek `silk`[%bake p.som.pip bem]] + +>.$(..ya (honk our num ses kas)) :: %lon ?^ pus.p.som.pip @@ -1737,6 +1764,25 @@ [%haz *] :_ +>.$ [~ pip(pez [%fin %wan 'Hello, world' ~])] + :: + [%fud *] + ?> ?=(%fun -.som.pip) + :_ +>.$ + :- ~ + %= pip + pez + ^- pest + ?- -.p.pez.pip + | =+ mad=(loga "server error" r.som.pip p.p.pez.pip) + :- %fin + :- %raw + ^- httr + :+ 500 + ~[content-type/'text/html'] + [~ (tact (xmlt | mad ~))] + & [%fin (lofi r.som.pip (lopo q.p.p.pez.pip))] + == + == :: [%raw *] :_ +>.$ diff --git a/arvo/ford.hoon b/arvo/ford.hoon index 72acfd8987..8882839544 100644 --- a/arvo/ford.hoon +++ b/arvo/ford.hoon @@ -25,13 +25,12 @@ ++ plan :: full construction $: hov=@ud :: hoon version bek=beak :: load context - sik=silk :: design + kas=silk :: design == :: ++ task :: problem in progress $: wor=writ :: rights and powers nah=duct :: cause - bek=beak :: context - sik=silk :: problem + kas=silk :: problem kig=[p=@ud q=(map ,@ud beam)] :: blocks == :: -- :: @@ -54,24 +53,6 @@ ^- (set ,[p=beam q=(list tank)]) (~(gas in one) (~(tap in two) ~)) :: XX ugh :: -++ tome :: parse path - |= pax=path - ^- (unit beam) - ?. ?=([* * * *] 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) ~ - `(unit beam)`[~ who dex `case`p.cis (flop t.t.t.pax)] -:: -++ tope :: beam to path - |= bem=beam - ^- path - [(scot %p p.bem) q.bem (scot r.bem) (flop s.bem)] -:: ++ za :: per event =| $: $: $: wor=writ :: event authority tea=wire :: event place @@ -111,7 +92,7 @@ =: p.tad +(p.tad) dym (~(put by dym) hen num) == - ~(exec zo [num `task`[wor hen p.fav q.fav 0 ~]]) + ~(exec zo [num `task`[wor hen p.fav 0 ~]]) :: %kill =+ num=(need (~(get by dym) hen)) @@ -199,7 +180,7 @@ ^+ ..zo ?: !=(~ q.kig) ..zo |- ^+ ..zo - =+ bot=(make sik) + =+ bot=(make kas) ?- -.bot %0 amok:(expo [%made %& p.bot q.bot]) %2 amok:(expo [%made %| p.bot]) @@ -412,6 +393,14 @@ |= vax=vase (fine %noun vax) == + :: + %cast + %+ cope $(kas r.kas) + |= cay=cage + =+ for=`logo`?@(p.cay p.cay %noun) + %+ cope (link p.kas ?@(p.cay p.cay %noun) q.kas q.cay) + |= vax=vase + (fine [p.kas vax]) :: %reef (fine %noun pit) == diff --git a/arvo/zuse.hoon b/arvo/zuse.hoon index c8fdb64e08..a92a29ecef 100644 --- a/arvo/zuse.hoon +++ b/arvo/zuse.hoon @@ -1223,7 +1223,6 @@ =+ [yek=[p.u.mys q.u.mys] det=[q.r.u.mys q.s.u.mys]] =+ guf=(~(get by ang) yek) =+ ted=`moar`?~(guf [0 0] u.guf) - :: ~& [%avon p.u.mys q.u.mys [%haz ted] [%too r.u.mys] [%fro s.u.mys]] ?> &(=(p.ted p.r.u.mys) =(q.ted p.s.u.mys)) +>.$(ang ?:(=([0 0] det) (~(del by ang) yek) (~(put by ang) yek det))) :: @@ -2052,6 +2051,24 @@ =+ [dis=(end 3 1 q.p.u.hyr) rem=(rsh 3 1 q.p.u.hyr)] ?. ?&(?=(%c dis) ?=(?(%v %w %x %y %z) rem)) ~ [~ rem (case p.u.ved) q.p.u.fal q.p.u.dyc tyl] +:: +++ tome :: parse path + |= pax=path + ^- (unit beam) + ?. ?=([* * * *] 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) ~ + `(unit beam)`[~ who dex `case`p.cis (flop t.t.t.pax)] +:: +++ tope :: beam to path + |= bem=beam + ^- path + [(scot %p p.bem) q.bem (scot r.bem) (flop s.bem)] :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: section 3bG, Arvo models :: :: @@ -2234,7 +2251,7 @@ [%dire p=@tas q=dram] :: apply directory [%dump p=(list ,@t)] :: raw text lines [%ergo p=@p q=@tas r=@ud] :: version update - [%exec p=beak q=silk] :: make something + [%exec p=silk] :: make something [%file p=@tas q=@] :: apply atomic file [%fail p=tape] :: report failure [%grab ~] :: collect grabage @@ -2709,7 +2726,7 @@ $% [%bake p=logo q=beam] :: local synthesis [%boil p=logo q=beam] :: general synthesis [%call p=silk q=silk] :: slam - :: [%cast p=logo q=silk] :: logically coerce + [%cast p=logo q=beak r=silk] :: translate :: [%done p=(set beam) q=cage] :: literal :: [%feed p=silk q=@] :: specific text :: [%grow p=silk q=beam] :: specific path diff --git a/main/bin/begin.hoon b/main/bin/begin.hoon index b811c9c3c9..897201a856 100644 --- a/main/bin/begin.hoon +++ b/main/bin/begin.hoon @@ -162,7 +162,9 @@ ;~ plug (cook |=([a=@ b=@] (cat 3 a b)) ;~(plug low low)) ;~ pose - ;~(pfix fas (plus ;~(pose hig hep nud))) + ;~ pfix fas + (cook |=(a=tape [(crip a) ~]) (plus ;~(pose hig hep nud))) + == (easy ~) == ==