diff --git a/arvo/gall.hoon b/arvo/gall.hoon index a0c923b71..28d42ff12 100644 --- a/arvo/gall.hoon +++ b/arvo/gall.hoon @@ -140,22 +140,16 @@ ++ mo-boom :: complete new boot |= {dap/dude byk/beak dep/@uvH gux/gage} ^+ +> + =. +> (mo-bold byk dap dep) ?- -.gux $tabl ~|(%made-tabl !!) - $| - =. +> (mo-bold byk dap dep) - =. +> (mo-give %onto %| p.gux) - +> + $| (mo-give %onto %| p.gux) $& - ?> ?=(@ p.p.gux) ?. (mo-okay q.p.gux) (mo-give %onto %| [%leaf "{}: bogus core"]~) - =. +> (mo-bold byk dap dep) =. +> (mo-born dap byk q.p.gux) - =+ old=+>.$ =+ wag=(ap-prop:(ap-abed:ap dap [%high [~ our]]) ~) ?^ -.wag - =. +>.$ old (mo-give %onto %| u.-.wag) =. +>.$ ap-abet:+.wag (mo-give:(mo-claw dap) %onto %& dap %boot now) @@ -189,8 +183,7 @@ ?- -.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) + $& ap-abet:(ap-peep:(ap-abed:ap dap [%high [~ our]]) q.p.gux) == :: ++ mo-bold :: wait for dep @@ -617,7 +610,7 @@ ((slog leaf+"peek find fail" >tyl< >mar< ~) [~ ~]) =^ arm +>.$ (ap-farm q.u.cug) ?: ?=($| -.arm) ((slog leaf+"peek farm fail" p.arm) [~ ~]) - =^ zem +>.$ (ap-slam q.u.cug p.arm !>([ren (slag p.u.cug tyl)])) + =^ zem +>.$ (ap-slam q.u.cug p.arm !>((slag p.u.cug `path`[ren tyl]))) ?: ?=($| -.zem) ((slog leaf+"peek slam fail" p.zem) [~ ~]) ?+ q.p.zem ((slog leaf+"peek bad result" ~) [~ ~]) $~ ~ @@ -1052,17 +1045,17 @@ ++ ap-prop :: install |= vux/(unit vase) ^- {(unit tang) _+>} - ?. (ap-fond %prep) + =+ old=+>.$(hav ?~(vux hav u.vux)) + ?. (ap-fond %prep) ?~ vux `+>.$ - =+ [new=p:(slot 13 hav) old=p:(slot 13 u.vux)] ?. (~(nest ut p:(slot 13 hav)) %| p:(slot 13 u.vux)) - :_(+>.$ `(ap-suck "prep mismatch")) + :_(old `(ap-suck "prep mismatch")) `+>.$(+13.q.hav +13.q.u.vux) =^ tur +>.$ %+ ap-call %prep ?~(vux !>(~) (slop !>(~) (slot 13 u.vux))) - ?~(tur `+>.$ :_(+>.$ `u.tur)) + ?~(tur `+>.$ :_(old `u.tur)) :: ++ ap-pule :: silent delete =+ wim=(~(get by sup.ged) ost) @@ -1149,10 +1142,11 @@ |= {cog/term gat/vase arg/vase} ^- {(each vase tang) _+>} =+ ^= wyz %- mule |. + ?> (~(nest ut p:(slot 6 gat)) %& p.arg) (~(play wa vel) [%cell p.gat p.arg] [%open [%$ ~] [%$ 2] [%$ 3] ~]) ?: ?=($| -.wyz) %- =+ sam=(~(peek ut p.gat) %free 6) - (slog >%ap-slam-mismatch< ~(duck ut p.arg) ~(duck ut sam) ~) + (slog >%ap-slam-mismatch< ~(duck ut p.arg) ~(duck ut sam) p.wyz) :_(+>.$ [%| (ap-suck "call: {}: type mismatch")]) :_ +>.$(vel +>.wyz) =+ ton=(mong [q.gat q.arg] ap-sled)