diff --git a/base/arvo/clay.hoon b/base/arvo/clay.hoon index 83c19e1ac9..3fe828268d 100644 --- a/base/arvo/clay.hoon +++ b/base/arvo/clay.hoon @@ -72,7 +72,7 @@ [%writ p=riot] :: == == :: $: %f :: - $% [%made p=@uvH q=(each gage (list tank))] :: + $% [%made p=@uvH q=gage] :: == == :: $: %t :: $% [%wake ~] :: timer activate @@ -175,28 +175,42 @@ :: ~& [%aver-mun nao [%from syd lim q.mun]] ?~(nao ~ (read-at-aeon:ze u.nao mun)) :: - ++ made-to-tage - |= res=(each gage tang) - ^- tage - ?: ?=(%| -.res) - ~| %ford-fail - |- - ?~ p.res !! - ~> %mean.|.(i.p.res) :: interpolate ford fail into stack trace - $(p.res t.p.res) - ?@ p.p.res - ~|(%bad-marc !!) - p.res + ++ ford-fail + |= tan=tang + ~| %ford-fail + |- + ?~ tan !! + ~> %mean.|.(i.tan) :: interpolate into stack trace + $(tan t.tan) :: - ++ tage-to-cages - |= tab=tage - ^- (list (pair cage cage)) - ?~ p.tab - ~ - :_ $(p.tab t.p.tab, q.tab (slot 3 q.tab)) - ~| %strange-gage - :- [?^(p.i.p.tab !! p.i.p.tab) (slot 4 q.tab)] - [?^(q.i.p.tab !! q.i.p.tab) (slot 5 q.tab)] + ++ unwrap-tang + |* res=(each ,* tang) + ?: ?=(%& -.res) + p.res + (ford-fail p.res) + :: + ++ gage-to-cages + |= gag=gage ^- (list (pair cage cage)) + (unwrap-tang (gage-to-tage gag)) + :: + ++ gage-to-tage + |= gag=gage + ^- (each (list (pair cage cage)) tang) + ?. ?=(%tabl -.gag) + (mule |.(`~`(ford-fail >%strange-gage< ~))) + =< ?+(. [%& .] [@ *] .) + |- ^- ?((list ,[cage cage]) (each ,~ tang)) + ?~ p.gag ~ + =* hed i.p.gag + ?- -.p.hed + %tabl (mule |.(`~`(ford-fail >%strange-gage< ~))) + %| (mule |.(`~`(ford-fail p.p.hed))) + %& ?- -.q.hed + %tabl (mule |.(`~`(ford-fail >%strange-gage< ~))) + %| (mule |.(`~`(ford-fail p.q.hed))) + %& =+ $(p.gag t.p.gag) + ?+(- [[p.p p.q]:hed -] [@ *] -) + == == :: ++ balk :: read and send |= [hen=duct cay=(unit (each cage lobe)) mun=mood] @@ -538,7 +552,7 @@ (checkout-ankh(lat.ran lat.ran.+.hat) u.-.hat) :: ++ take-inserting - |= [wen=@da res=(each gage tang)] + |= [wen=@da res=gage] ^+ +> ?~ dok ~& %clay-take-inserting-unexpected-made +>.$ @@ -551,14 +565,14 @@ (apply-edit wen) +>.$ ^- (list (pair path cage)) - %+ turn (tage-to-cages (made-to-tage res)) + %+ turn (gage-to-cages res) |= [pax=cage cay=cage] ?. ?=(%path p.pax) ~|(%clay-take-inserting-strange-path-mark !!) [((hard path) q.q.pax) cay] :: ++ take-diffing - |= [wen=@da res=(each gage tang)] + |= [wen=@da res=gage] ^+ +> ?~ dok ~& %clay-take-diffing-unexpected-made +>.$ @@ -571,7 +585,7 @@ (apply-edit wen) +>.$ ^- (list (trel path lobe cage)) - %+ turn (tage-to-cages (made-to-tage res)) + %+ turn (gage-to-cages res) |= [pax=cage cay=cage] ^- (pair path (pair lobe cage)) ?. ?=(%path p.pax) @@ -580,14 +594,14 @@ [paf (page-to-lobe:ze [p q.q]:cay) (~(got by dig.u.dok) paf)] :: ++ take-castify - |= [wen=@da res=(each gage tang)] + |= [wen=@da res=gage] ^+ +> ?~ dok ~& %clay-take-castifying-unexpected-made +>.$ ?. =(~ muh.u.dok) ~& %clay-take-castifying-redundant-made +>.$ =+ ^- cat=(list (pair path cage)) - %+ turn (tage-to-cages (made-to-tage res)) + %+ turn (gage-to-cages res) |= [pax=cage cay=cage] ?. ?=(%path p.pax) ~|(%castify-bad-path-mark !!) @@ -610,7 +624,7 @@ == :: ++ take-mutating - |= [wen=@da res=(each gage tang)] + |= [wen=@da res=gage] ^+ +> ?~ dok ~& %clay-take-mutating-unexpected-made +>.$ @@ -623,7 +637,7 @@ (apply-edit wen) +>.$ ^- (list (trel path lobe cage)) - %+ murn (tage-to-cages (made-to-tage res)) + %+ murn (gage-to-cages res) |= [pax=cage cay=cage] ^- (unit (pair path (pair lobe cage))) ?. ?=(%path p.pax) @@ -634,7 +648,7 @@ `[paf (~(got by muh.u.dok) paf) cay] :: ++ take-patch - |= res=(each gage tang) + |= res=gage ^+ +> :: ~& %taking-patch ?: ?=(%| -.res) @@ -675,29 +689,15 @@ (echo now %& *cart sim) == ?~ dok ~& %no-dok +>.$ - =+ cay=p.res - ?@ p.cay ~| %patch-bad-marc !! - :: ~& %canning - =+ ^= can - |- ^- (list ,[path cage]) - ?~ p.p.cay - ~ - :_ %_($ cay [[%tabl t.p.p.cay] (slot 3 q.cay)]) - ?. ?=(%path p.i.p.p.cay) - ~| %patch-strange-marc-a - !! - ?. ?=(@ q.i.p.p.cay) - ~| %patch-strange-marc-b - !! - =+ coy=(slot 2 q.cay) - ?@ q.coy - ~| %patch-strange-coy - !! - :- ((hard path) -.q.coy) - [q.i.p.p.cay (slot 3 coy)] + =+ ^- cat=(list (pair path cage)) + %+ turn (gage-to-cages res) + |= [pax=cage cay=cage] + ?. ?=(%path p.pax) + ~|(%patch-bad-path-mark !!) + [((hard path) q.q.pax) cay] :: ~& %canned :: ~& %checking-out - =. ank.dom (checkout-ankh:ze (mo can)) + =. ank.dom (checkout-ankh:ze (mo cat)) =. +>.$ =>(wake ?>(?=(^ dok) .)) :: ~& %checked-out ?~ hez +>.$(dok ~) @@ -734,7 +734,7 @@ == :: ++ take-ergo - |= res=(each gage tang) + |= res=gage ^+ +> ?: ?=(%| -.res) %_ +>.$ @@ -743,30 +743,19 @@ == ?~ hez ~|(%no-sync-duct !!) ?. syn ~|(%sync-off !!) - =+ cay=p.res - ?@ p.cay ~| %patch-bad-marc !! %= +>.$ reg :_ reg :* u.hez %ergo who syd let.dom - |- ^- (list ,[path (unit mime)]) - ?~ p.p.cay + ^- (list ,[path (unit mime)]) + %+ turn (gage-to-cages res) + |= [pax=cage mim=cage] + ?. ?=(%path p.pax) + ~|(%ergo-bad-path-mark !!) + :- ((hard path) q.q.pax) + ?. ?=(%mime p.mim) ~ - :_ %_($ cay [[%tabl t.p.p.cay] (slot 3 q.cay)]) - ?. ?=(%path p.i.p.p.cay) - ~| %ergo-strange-marc-a - !! - ?. ?=(@ q.i.p.p.cay) - ~| %ergo-strange-marc-b - !! - =+ coy=(slot 2 q.cay) - ?@ q.coy - ~| %ergo-strange-coy - !! - :- ((hard path) -.q.coy) - ?. ?=(%mime q.i.p.p.cay) - ~ - `((hard mime) q:(slot 3 coy)) + `((hard mime) q:(slot 3 q.mim)) == == :: @@ -1898,7 +1887,7 @@ (diff-bas %bob bob.dat bob ali.dat) :: ++ diffed-bob - |= res=(each gage tang) + |= res=(each tage tang) ^+ +> ?: ?=(%| -.res) (error:he %diff-bob-bad-made leaf/"merge diff bob failed" p.res) @@ -1977,7 +1966,7 @@ == :: ++ merged - |= res=(each gage tang) + |= res=(each tage tang) ?: ?=(%| -.res) (error:he %merge-bad-made leaf/"merging failed" p.res) =+ cay=p.res @@ -2034,7 +2023,7 @@ :: ++ built - |= res=(each gage tang) + |= res=(each tage tang) ^+ +> ?: ?=(%| -.res) (error:he %build-bad-made leaf/"delta building failed" p.res) @@ -2170,7 +2159,7 @@ == :: ++ checked-out - |= res=(each gage tang) + |= res=(each tage tang) ^+ +> ?: ?=(%| -.res) (error:he %checkout-bad-made leaf/"merge checkout failed" p.res) @@ -2230,8 +2219,8 @@ == :: ++ ergoed - |= res=(each gage tang) - ^+ +> + |= res=(each tage tang) + ^+ + ?: ?=(%| -.res) (error:he %ergo-bad-made leaf/"merge ergo failed" p.res) =+ cay=p.res diff --git a/base/arvo/eyre.hoon b/base/arvo/eyre.hoon index facb1b7a91..9790fd2246 100644 --- a/base/arvo/eyre.hoon +++ b/base/arvo/eyre.hoon @@ -39,7 +39,7 @@ $% [%thou p=httr] :: response for proxy == == :: $: %f :: by %ford - $% [%made p=@uvH q=(each gage tang)] :: + $% [%made p=@uvH q=gage] :: [%news ~] :: == == :: $: %t :: by %time @@ -577,7 +577,7 @@ == :: %made - ?> ?=(?([%| *] [%& @ *]) q.sih) + ?< ?=(%tabl -.q.sih) =. our (need hov) :: XX |- ^+ ..axon ?- tee diff --git a/base/arvo/ford.hoon b/base/arvo/ford.hoon index 26a197661e..1267a56ea8 100644 --- a/base/arvo/ford.hoon +++ b/base/arvo/ford.hoon @@ -55,7 +55,7 @@ dep=(set beam) :: dependencies == :: ++ calx :: concrete cache line - $% [%hood p=calm q=(pair beam gage) r=hood] :: compile + $% [%hood p=calm q=(pair beam cage) r=hood] :: compile [%bake p=calm q=(trel mark beam heel) r=(unit vase)]:: load [%slit p=calm q=[p=type q=type] r=type] :: slam type [%slim p=calm q=[p=type q=twig] r=(pair type nock)]:: mint @@ -105,8 +105,21 @@ ^- cafe :: [(grom p.a p.b) (grum q.a q.b)] :: :: :: -++ faun |=([a=cafe b=vase] (fine a `gage`[%noun b])) :: vase to cage -++ feel |=([a=cafe b=gage] (fine a q.b)) :: cage to vase +++ faun |=([a=cafe b=vase] (fine a [%& %noun b])) :: vase to gage +++ feel |=([a=cafe b=cage] (fine a q.b)) :: cage to vase +++ furl :: unwrap gage to cage + |= [a=cafe b=gage] ^- (bolt cage) + ?- -.b + %tabl (flaw a >%bad-marc< ~) + %| (flaw a p.b) + %& (fine a p.b) + == +:: +++ fret :: lift error + |= a=(bolt gage) ^- (bolt gage) + ?. ?=(%2 -.q.a) a + [p.a [%0 p.q.a `gage`[%| q.q.a]]] +:: ++ fest :: bolt to success |= a=beam :: |*([b=cafe c=*] (flag a (fine b [~ u=c]))) :: @@ -413,6 +426,23 @@ == fun :: + ++ tabl-run :: apply to all elems + |= fun=(burg cage gage) + |= [cof=cafe gag=gage] + ^- (bolt gage) + ?. ?=(%tabl -.gag) + (cope (furl cof gag) fun) + %+ cope + |- ^- (bolt (list (pair gage gage))) + ?~ p.gag (fine cof ~) + %+ cope (fret ^$(gag q.i.p.gag)) + |= [cof=cafe val=gage] + %+ cope ^$(p.gag t.p.gag) + |= [cof=cafe rex=(list (pair gage gage))] + (fine cof [[p.i.p.gag val] rex]) + |= [cof=cafe rex=(list (pair gage gage))] + (fine cof %tabl rex) + :: ++ dash :: process cache |= cof=cafe ^+ +> @@ -424,17 +454,15 @@ %. [cof kas kos] ;~ cope ;~ coax - |=([cof=cafe p=silk q=silk] (make cof p)) - |=([cof=cafe p=silk q=silk] (make cof q)) + |=([cof=cafe p=silk q=silk] (cope (make cof p) furl)) + |=([cof=cafe p=silk q=silk] (cope (make cof q) furl)) == - |= [cof=cafe cay=gage coy=gage] - ?. &(?=(@ p.cay) ?=(@ p.coy)) - (flaw cof leaf/"bad diff marc" ~) + |= [cof=cafe cay=cage coy=cage] ?. =(p.cay p.coy) %+ flaw cof :_ ~ leaf/"diff on data of different marks: {(trip p.cay)} {(trip p.coy)}" ?: =(q.q.cay q.q.coy) - (fine cof %null [%atom %n] ~) + (fine cof %& %null [%atom %n] ~) %+ cope (fang cof p.cay) |= [cof=cafe pro=vase] ?. (slab %grad p.pro) @@ -461,7 +489,7 @@ =+ for=((soft ,@tas) q:(slap gar [%cnzy %form])) ?~ for (flaw cof leaf/"bad ++form:grad" ~) - (fine cof u.for dif) + (fine cof %& u.for dif) == :: ++ daze :: remember depends @@ -480,7 +508,7 @@ =. ..exec (dash p.bot) ?- -.q.bot %0 =^ dep deh.bay (daze p.q.bot) - amok:(expo [%made dep %& q.q.bot]) + amok:(expo [%made dep q.q.bot]) %2 =^ dep deh.bay (daze p.q.bot) amok:(expo [%made dep %| q.q.bot]) %1 =+ zuk=(~(tap by p.q.bot) ~) @@ -499,11 +527,11 @@ |= [cof=cafe for=mark bem=beam] ^- (bolt hood) %+ cool |.(leaf/"ford: fade {<[(tope bem)]>}") - %+ cope (make cof [%bake for bem ~]) - |= [cof=cafe cay=gage] + %+ cope (cope (make cof [%bake for bem ~]) furl) + |= [cof=cafe cay=cage] %+ (clef %hood) (fine cof bem(r [%ud 0]) cay) - ^- (burg (pair beam gage) hood) - |= [cof=cafe bum=beam cay=gage] + ^- (burg (pair beam cage) hood) + |= [cof=cafe bum=beam cay=cage] :: ~& fade/clef-miss/bem =+ rul=(fair bum) ?. ?=(@ q.q.cay) @@ -678,12 +706,10 @@ %. [cof kas kos] ;~ cope ;~ coax - |=([cof=cafe p=silk q=silk] (make cof p)) - |=([cof=cafe p=silk q=silk] (make cof q)) + |=([cof=cafe p=silk q=silk] (cope (make cof p) furl)) + |=([cof=cafe p=silk q=silk] (cope (make cof q) furl)) == - |= [cof=cafe cay=gage coy=gage] - ?. &(?=(@ p.cay) ?=(@ p.coy)) - (flaw cof leaf/"bad join marc: {} {}" ~) + |= [cof=cafe cay=cage coy=cage] %+ cope (fang cof for) |= [cof=cafe pro=vase] ?. (slab %grad p.pro) @@ -704,7 +730,7 @@ leaf/"join on data of bad marks: {(trip p.cay)} {(trip p.coy)}" leaf/"expected mark {(trip u.fom)}" ?: =(q.q.cay q.q.coy) - (fine cof cay) + (fine cof %& cay) ?. (slab %join p.gar) (flaw cof leaf/"no ++join:grad" ~) %+ cope @@ -713,8 +739,8 @@ (slop q.cay q.coy) |= [cof=cafe dif=vase] ?@ q.dif - (fine cof %null dif) - (fine cof u.fom (slot 3 dif)) + (fine cof %& %null dif) + (fine cof %& u.fom (slot 3 dif)) == :: ++ mash @@ -723,12 +749,10 @@ %. [cof r.mas r.mos] ;~ cope ;~ coax - |=([cof=cafe p=silk q=silk] (make cof p)) - |=([cof=cafe p=silk q=silk] (make cof q)) + |=([cof=cafe p=silk q=silk] (cope (make cof p) furl)) + |=([cof=cafe p=silk q=silk] (cope (make cof q) furl)) == - |= [cof=cafe cay=gage coy=gage] - ?. &(?=(@ p.cay) ?=(@ p.coy)) - (flaw cof leaf/"bad mash marc: {} {}" ~) + |= [cof=cafe cay=cage coy=cage] %+ cope (fang cof for) |= [cof=cafe pro=vase] ?. (slab %grad p.pro) @@ -750,9 +774,9 @@ leaf/"mash on data of bad marks: {(trip p.cay)} {(trip p.coy)}" leaf/"expected mark {(trip u.fom)}" ?: =(q.q.cay q.q.coy) - (fine cof cay) + (fine cof %& cay) ?. (slab %mash p.gar) - (fine cof %null [%atom %n] ~) + (fine cof %& %null [%atom %n] ~) %+ cope %^ maul cof (slap (slap pro [%cnzy %grad]) [%cnzy %mash]) @@ -763,7 +787,7 @@ q.coy == |= [cof=cafe dif=vase] - (fine cof u.fom dif) + (fine cof %& u.fom dif) == :: ++ kale :: mutate @@ -772,17 +796,18 @@ %+ cope |- ^- (bolt (list (pair wing vase))) ?~ muy (flue cof) - %+ cope (make cof q.i.muy) - |= [cof=cafe cay=gage] + %+ cope (cope (make cof q.i.muy) furl) + |= [cof=cafe cay=cage] %+ cope ^$(muy t.muy) |= [cof=cafe rex=(list (pair wing vase))] (fine cof [[p.i.muy q.cay] rex]) |= [cof=cafe yom=(list (pair wing vase))] %+ cope (make cof kas) - |= [cof=cafe cay=gage] + %- tabl-run + |= [cof=cafe cay=cage] %+ cope (keel cof q.cay yom) |= [cof=cafe vax=vase] - (fine cof p.cay vax) + (fine cof %& p.cay vax) :: ++ keel :: apply mutations |= [cof=cafe suh=vase yom=(list (pair wing vase))] @@ -872,13 +897,13 @@ :: ++ lear :: load vase |= [cof=cafe bem=beam] - ^- (bolt cage) + ^- (bolt gage) =+ von=(save ~ %cx bem) ?~ von [p=*cafe q=[%1 [[%x bem ~] ~ ~]]] ?~ u.von (flaw cof leaf/"lear: file unavailable" (smyt (tope bem)) ~) - (fine cof u.u.von) + (fine cof %& u.u.von) :: ++ lend :: load arch |= [cof=cafe bem=beam] @@ -929,8 +954,8 @@ %+ cope (lion cof for haz) |= [cof=cafe wuy=(list ,@tas)] ?~ wuy (flue cof) - %+ cope (make cof %bake i.wuy bem arg) - |= [cof=cafe hoc=gage] + %+ cope (cope (make cof %bake i.wuy bem arg) furl) + |= [cof=cafe hoc=cage] %+ cope (lope cof i.wuy t.wuy q.hoc) |= [cof=cafe vax=vase] ((fest bem) cof vax) @@ -1040,12 +1065,12 @@ %. [cof p.kas q.kas] ;~ cope ;~ coax - |=([cof=cafe p=silk q=silk] ^$(cof cof, kas p.kas)) - |=([cof=cafe p=silk q=silk] ^$(cof cof, kas q.kas)) - == + |=([cof=cafe p=silk q=silk] (cope ^$(cof cof, kas p.kas) furl)) + |=([cof=cafe p=silk q=silk] (cope ^$(cof cof, kas q.kas) furl)) + == :: XX merge %tabl :: - |= [cof=cafe bor=gage heg=gage] ^- (bolt gage) - [p=cof q=[%0 ~ [%$ (slop q.bor q.heg)]]] + |= [cof=cafe bor=cage heg=cage] ^- (bolt gage) + (faun cof (slop q.bor q.heg)) == :: %bake @@ -1055,7 +1080,7 @@ |= [cof=cafe vux=(unit vase)] ?~ vux (flaw cof leaf/"bake failed" (smyt (tope q.kas)) ~) - (fine cof [p.kas u.vux]) + (fine cof [%& p.kas u.vux]) :: %boil ^- (bolt gage) @@ -1064,49 +1089,48 @@ |= [cof=cafe bem=beam] %+ cope (lime cof p.kas bem r.kas) |= [cof=cafe vax=vase] - (fine cof `gage`[p.kas vax]) + (fine cof `gage`[%& p.kas vax]) :: %bunt %+ cool |.(leaf/"ford: bunt {}") ?: ?=(?(%hoon %hook) p.kas) - (fine cof p.kas [%atom %t] '') + (fine cof %& p.kas [%atom %t] '') %+ cope (fang cof p.kas) |= [cof=cafe tux=vase] - (fine cof [p.kas (slot 6 tux)]) + (fine cof [%& p.kas (slot 6 tux)]) :: %call :: %+ cool |.(leaf/"ford: call {<`@p`(mug kas)>}") %. [cof p.kas q.kas] ;~ cope ;~ coax - |=([cof=cafe p=silk q=silk] ^$(cof cof, kas p)) + |=([cof=cafe p=silk q=silk] (cope ^$(cof cof, kas p) furl)) |=([cof=cafe p=silk q=silk] ^$(cof cof, kas q)) == :: - |= [cof=cafe gat=gage sam=gage] - (maul cof q.gat q.sam) - :: - |= [cof=cafe vax=vase] - (fine cof %noun vax) + |= [cof=cafe gat=cage sam=gage] + %. [cof sam] + %- tabl-run + |= [cof=cafe sam=cage] + (cope (maul cof q.gat q.sam) faun) == :: %cast %+ cool |.(leaf/"ford: cast {}") %+ cope $(kas q.kas) - |= [cof=cafe cay=gage] + %- tabl-run + |= [cof=cafe cay=cage] ^- (bolt gage) %+ cool |.(leaf/"ford: casting {} to {}") - ?. ?=(@ p.cay) - (flaw cof leaf/"bad cast marc" ~) %+ cope (link cof p.kas p.cay q.cay) |= [cof=cafe vax=vase] - (fine cof [p.kas vax]) + (fine cof [%& p.kas vax]) :: %diff %+ cool |.(leaf/"ford: diff {<`@p`(mug p.kas)>} {<`@p`(mug q.kas)>}") (diff cof p.kas q.kas) :: - %done [cof %0 p.kas q.kas] + %done [cof %0 p.kas %& q.kas] %dude (cool |.(p.kas) $(kas q.kas)) %dune ?~ q.kas [cof [%2 p.kas [%leaf "no data"]~]] @@ -1142,46 +1166,44 @@ %+ cool |.(leaf/"ford: pact {<`@p`(mug p.kas)>} {<`@p`(mug q.kas)>}") (pact cof p.kas q.kas) :: - %plan - %+ cope (abut:(meow p.kas q.kas) cof r.kas) - |= [cof=cafe vax=vase] - (fine cof %noun vax) - :: - %reef (fine cof %noun pit) + %plan (cope (abut:(meow p.kas q.kas) cof r.kas) faun) + %reef (faun cof pit) %ride %+ cool |.(leaf/"ford: ride {<`@p`(mug kas)>}") %+ cope $(kas q.kas) - |= [cof=cafe cay=gage] + %- tabl-run + |= [cof=cafe cay=cage] %+ cope (maim cof q.cay p.kas) |= [cof=cafe vax=vase] - (fine cof %noun vax) + (faun cof vax) :: %tabl %+ cope - |- ^- (bolt (pair (list (pair marc marc)) vase)) - ?~ p.kas (fine cof ~ *vase) + |- ^- (bolt (list (pair gage gage))) + ?~ p.kas (fine cof ~) %+ cope (make cof p.i.p.kas) |= [cof=cafe key=gage] %+ cope (make cof q.i.p.kas) |= [cof=cafe val=gage] %+ cope ^^$(p.kas t.p.kas) - |= [cof=cafe rex=(list (pair marc marc)) rey=vase] - (fine cof [[p.key p.val] rex] (slop (slop q.key q.val) rey)) - |= [cof=cafe rex=(list (pair marc marc)) rey=vase] - (fine cof [%tabl rex] rey) + |= [cof=cafe rex=(list (pair gage gage))] + (fine cof [[key val] rex]) + |= [cof=cafe rex=(list (pair gage gage))] + (fine cof [%tabl rex]) :: %vale %+ cool |.(leaf/"ford: vale {} {} {<`@p`(mug r.kas)>}") %+ cope (lave cof p.kas q.kas r.kas) |= [cof=cafe vax=vase] - (fine cof `cage`[p.kas vax]) + (fine cof `gage`[%& p.kas vax]) :: %volt %+ cool |.(leaf/"ford: volt {}") %+ cope $(kas [%bunt p.q.kas]) - |= [cof=cafe cay=gage] + %- tabl-run + |= [cof=cafe cay=cage] ^- (bolt gage) - [cof %0 p.kas p.q.kas p.q.cay q.q.kas] + [cof %0 p.kas %& p.q.kas p.q.cay q.q.kas] == :: ++ malt :: cached slit @@ -1403,7 +1425,7 @@ (flaw cof [%leaf "type error: {} {}"]~) (fine cof [p.tug q.vax]) :: - %toy (cope (make cof %boil p.hon how ~) feel) + %toy (cope (cope (make cof %boil p.hon how ~) furl) feel) == :: ++ head :: consume structures @@ -1511,12 +1533,10 @@ %. [cof kas kos] ;~ cope ;~ coax - |=([cof=cafe p=silk q=silk] (make cof p)) - |=([cof=cafe p=silk q=silk] (make cof q)) + |=([cof=cafe p=silk q=silk] (cope (make cof p) furl)) + |=([cof=cafe p=silk q=silk] (cope (make cof q) furl)) == - |= [cof=cafe cay=gage coy=gage] - ?. &(?=(@ p.cay) ?=(@ p.coy)) - (flaw cof leaf/"bad pact marc" ~) + |= [cof=cafe cay=cage coy=cage] ^- (bolt gage) ?: ?=(?(%hoon %hook) p.cay) ?. ?=(%txt-diff p.coy) (flaw cof leaf/"{} mark with bad diff type: {}" ~) @@ -1528,7 +1548,7 @@ =- (flaw cof leaf/"{} data with bad diff" -) [>type=p.q.coy< >shouldbe=-:!>(*(urge cord))< ~] =+ pac=(role (lurk (lore (cat 3 u.txt '\0a')) u.dif)) - (fine cof p.cay [%atom %t] (end 3 (dec (met 3 pac)) pac)) + (fine cof %& p.cay [%atom %t] (end 3 (dec (met 3 pac)) pac)) %+ cope (fang cof p.cay) |= [cof=cafe pro=vase] ?. (slab %grad p.pro) @@ -1557,7 +1577,7 @@ (slap (slap pox [%cnzy %grad]) [%cnzy %pact]) q.coy |= [cof=cafe pat=vase] - (fine cof p.cay pat) + (fine cof %& p.cay pat) == :: ++ resp @@ -1622,8 +1642,8 @@ ~ :: ++ load :: highly forgiving - |= old=axle - ..^$(+>- old) +:: |= old=axle +:: ..^$(+>- old) ::=. old :: ?. ?=([%0 *] old) old :: remove at 1 :: :- %1 @@ -1632,12 +1652,13 @@ :: ?> ?=([n=[p=* q=[tad=* dym=* deh=* jav=*]] l=* r=*] +.old) :: :- [p.n.+.old [tad.q.n.+.old dym.q.n.+.old deh.q.n.+.old ~]] :: [$(+.old l.+.old) $(+.old r.+.old)] -:: =+ lox=((soft axle) old) -:: ^+ ..^$ -:: ?~ lox -:: ~& %ford-reset -:: ..^$ -:: ..^$(+>- u.lox) + |= old=* + =+ lox=((soft axle) old) + ^+ ..^$ + ?~ lox + ~& %ford-reset + ..^$ + ..^$(+>- u.lox) :: ++ scry |= [fur=(unit (set monk)) ren=@tas who=ship syd=desk lot=coin tyl=path] diff --git a/base/arvo/gall.hoon b/base/arvo/gall.hoon index b3d36bb2b7..ecfefcbcfa 100644 --- a/base/arvo/gall.hoon +++ b/base/arvo/gall.hoon @@ -130,9 +130,10 @@ (~(nest ut -:!>(*hide)) %| p:(slot 12 vax)) :: ++ mo-boom :: complete new boot - |= [dap=dude pup=scup dep=@uvH gux=(each gage tang)] + |= [dap=dude pup=scup dep=@uvH gux=gage] ^+ +> ?- -.gux + %tabl ~|(%made-tabl !!) %| =. +> (mo-bold dap dep) =. +> (mo-give %onto %| p.gux) @@ -169,13 +170,14 @@ == :: ++ mo-boon :: complete old boot - |= [dap=dude pup=scup dep=@uvH gux=(each gage tang)] + |= [dap=dude pup=scup dep=@uvH gux=gage] ^+ +> ?. (~(has by bum) dap) ~& [%gall-old-boon dap] +> =. +> (mo-bold dap dep) ?- -.gux + %tabl ~|(%made-tabl !!) %| (mo-give %onto %| p.gux) %& ?> ?=(@ p.p.gux) ap-abet:(ap-peep:(ap-abed:ap dap [%high [~ our]]) q.p.gux) @@ -321,9 +323,9 @@ num=(slav %ud i.t.t.t.pax) == ?- -.q.+>.sih + %tabl ~|(%made-tabl !!) %| (mo-give %mack `p.q.+>.sih) :: XX should crash - %& ?> ?=(@ p.p.q.+>.sih) - =. +>.$ (mo-give %mack ~) :: XX pump should ack + %& =. +>.$ (mo-give %mack ~) :: XX pump should ack (mo-give(hen (mo-ball him num)) %unto %diff `cage`p.q.+>.sih) == :: @@ -335,9 +337,9 @@ == ?: ?=([%f %made *] sih) ?- -.q.+>.sih + %tabl ~|(%made-tabl !!) %| (mo-give %mack `p.q.+>.sih) :: XX should crash - %& ?> ?=(@ p.p.q.+>.sih) - (mo-pass [%sys pax] %g %deal [him our] i.t.t.pax %poke p.q.+>.sih) + %& (mo-pass [%sys pax] %g %deal [him our] i.t.t.pax %poke p.q.+>.sih) == ?: ?=([%a %woot *] sih) +>.$ :: quit ack, boring ?> ?=([%g %unto *] sih) @@ -805,9 +807,7 @@ ^+ +> =+ cug=(ap-find /lame) ?~ cug - ~> %slog. - :- ~ - rose/[" " "[" "]"]^[>%ap-lame< >wut< why] + ~& [%ap-lame wut why] +>.$ =^ cam +>.$ %+ ap-call q.u.cug @@ -986,7 +986,6 @@ %merg `%c %plug `%c %them `%e - %wait `%t %want `%a == -- diff --git a/base/arvo/hoon.hoon b/base/arvo/hoon.hoon index 6dd8980ee8..81a81c1519 100644 --- a/base/arvo/hoon.hoon +++ b/base/arvo/hoon.hoon @@ -9618,7 +9618,6 @@ == :: ++ curd ,[p=@tas q=*] :: typeless card ++ duct (list wire) :: causal history -++ gage (pair marc vase) :: structured cage ++ from ,[ost=bone src=ship] :: forward problem ++ hide :: standard app state $: $: our=ship :: owner/operator diff --git a/base/arvo/zuse.hoon b/base/arvo/zuse.hoon index b76695f449..e25448684d 100644 --- a/base/arvo/zuse.hoon +++ b/base/arvo/zuse.hoon @@ -2475,9 +2475,9 @@ [%call p=silk q=silk] :: slam [%cast p=mark q=silk] :: translate [%diff p=silk q=silk] :: diff - [%done p=(set beam) q=gage] :: literal + [%done p=(set beam) q=cage] :: literal [%dude p=tank q=silk] :: error wrap - [%dune p=(set beam) q=(unit gage)] :: unit literal + [%dune p=(set beam) q=(unit cage)] :: unit literal [%file p=beam] :: from clay [%flag p=@uvH q=silk] :: re-apply user deps [%join p=mark q=silk r=silk] :: merge @@ -2492,8 +2492,13 @@ [%volt p=(set beam) q=(cask ,*)] :: unsafe add type == :: :::: +++ gage :: recursive cage/tang + $% [%& p=cage] :: success + [%| p=tang] :: error + [%tabl p=(list (pair gage gage))] :: table of results + == ++ gift-ford :: out result <-$ - $% [%made p=@uvH q=(each gage tang)] :: computed result + $% [%made p=@uvH q=gage] :: computed result [%mass p=mass] :: memory usage [%news ~] :: fresh depends == ::