diff --git a/pkg/arvo/app/neo.hoon b/pkg/arvo/app/neo.hoon index 71aced568f..101281cfbf 100644 --- a/pkg/arvo/app/neo.hoon +++ b/pkg/arvo/app/neo.hoon @@ -817,6 +817,29 @@ =. rav (fume-add rav care.hunt howl) =. riot (~(put of:neo riot) pith.hunt rav) run + ++ heal + |= [dead=hunt:neo how=(set howl:neo)] + ^+ run + =/ how ~(tap in how) + |- + ?~ how + run + =/ =howl:neo i.how + ?. ?=(%rely -.howl) :: XX: handle %halt %sell + $(how t.how) + =/ [=term =pith:neo] +.howl + =/ =move:neo + [pith.dead [p/our.bowl pith] %poke %dead !>(term)] + =. run + abet:(arvo move) + $(how t.how) + + ++ reap + |= [change=pith:neo =loot:neo] + =/ =rave:neo (~(gut of:neo riot) change *rave:neo) + =. run (heal:rage:(heal:rage:(heal x/change exe.rave) y/change why.rave) z/change zed.rave) + run(riot (~(del of:neo riot) change)) + :: ++ fury |= gis=(list gift:dirt:neo) %- gas-leaf @@ -851,6 +874,7 @@ :: ++ take |= gis=(list gift:dirt:neo) + ~& gis/gis =/ laf (fury gis) =* loop-gift $ ^+ run @@ -858,6 +882,8 @@ run =/ [=pith:neo =loot:neo] i.gis =. run (sweep i.gis) + =? run =(%del mode.loot) + (reap pith loot) $(gis t.gis) :: ++ fume-add @@ -1918,7 +1944,7 @@ :: ++ make |= [src=stud:neo init=(unit pail:neo) =crew:neo] - =/ =wave:neo [src ~(dock husk src) crew] + =/ =wave:neo [src ~(dock husk src) crew &] =. tide (~(put of:neo tide) here wave) =^ bad=(set term) arvo (jazz crew deps:~(kook husk src)) @@ -1958,6 +1984,9 @@ =| cards=(list card:neo) =/ =kook:neo ~(kook husk code.wave) =. dock.wave ~(dock husk code.wave) + ?. live.wave + ~| dead-wave/here + !! |% ++ su-core . ++ su-emil |=(caz=(list card:neo) su-core(cards (welp cards caz))) @@ -2039,6 +2068,11 @@ ++ su-poke |= =pail:neo ^+ su-core + =? live.wave =(p.pail %dead) + =+ !<(dead=term q.pail) + ?~ dep=(~(get by deps:kook) dead) + & + !required.u.dep ?. (~(has in poke.dock.wave) p.pail) ?: ?=(%ack p.pail) %. su-core @@ -2046,8 +2080,8 @@ ?~ ack same (slog (print-quit:neo u.ack)) - ?: ?=(%rely p.pail) - su-core :: ((slog leaf/"no support for %rely" ~) su-core) + ?: |(=(%dead p.pail) =(%rely p.pail)) + su-core (mean leaf/"no support for {}" ~) =/ [caz=(list card:neo) new=pail:neo] (poke:su-form pail) diff --git a/pkg/arvo/lib/neo-two.hoon b/pkg/arvo/lib/neo-two.hoon index 069625b698..f9ddfdfcce 100644 --- a/pkg/arvo/lib/neo-two.hoon +++ b/pkg/arvo/lib/neo-two.hoon @@ -220,10 +220,14 @@ `[pith key.u.lat] :: ++ grow - |= [=pail:neo cas=(unit case:neo) =oath:neo] - ^- (quip loot:neo loam:dirt:neo) - =/ =poem:neo [[(fall cas +(case)) oath] `pail] - (make poem) + |= [=pith:neo =pail:neo cas=(unit case:neo) =oath:neo] + ^- (quip dust:neo loam:dirt:neo) + =/ l=loam:dirt:neo (~(dip of:neo loam) pith) + =/ =poem:neo [[(fall cas +(~(case plow l))) oath] `pail] + =^ loot=(list loot:neo) l + (~(make plow l) poem) + :- (turn loot (lead pith)) + (~(rep of:neo loam) pith l) ++ make |= =poem:neo ^- (quip loot:neo loam:dirt:neo) @@ -252,22 +256,36 @@ loam(fil `(put:on:soil:neo u.fil.loam [p.p .]:poem)) :: ++ cull - ?~ fil.loam - [~ loam] - (make [[+(case) *oath:neo] ~]) + =| =grit:neo + |= =pith:neo + ^+ [grit loam] + =/ [loot=(list loot:neo) l=loam:dirt:neo] + =/ lom (~(dip of:neo loam) pith) + ?: =(~ fil.lom) + `lom + (~(make plow lom) [[+(~(case plow lom)) *oath:neo] ~]) + =. grit (welp grit (turn loot (lead pith))) + =/ kids ~(tap by kid.l) + |- + ?~ kids + =. loam (~(rep of:neo loam) pith l) + [grit loam] + =/ [iot=iota lo=loam:dirt:neo] i.kids + =/ pit=pith:neo (snoc pith iot) + =/ [loot=(list loot:neo) lom=loam:dirt:neo] + (make(loam lo) [[+(case) *oath:neo] ~]) + =. grit (welp grit (turn loot (lead pit))) + =. kid.l (~(put by kid.l) iot lom) + $(kids t.kids) :: :: ++ call |= =card:dirt:neo ^- (quip gift:dirt:neo _loam) - =/ lom (~(dip of:neo loam) p.card) %- (trace "call" (print-card card)) - =^ gifts=(list loot:neo) lom - ?- -.q.card - %grow (~(grow plow lom) +.q.card) - %cull ~(cull plow lom) - == - :_ (~(rep of:neo loam) p.card lom) - (turn gifts |=(loot:neo `gift:dirt:neo`[p.card +<])) + ?- -.q.card + %grow (~(grow plow loam) p.card +.q.card) + %cull (~(cull plow loam) p.card) + == :: ++ look |= =pith:neo diff --git a/pkg/arvo/neo/cod/std/src/imp/hawk-eyre.hoon b/pkg/arvo/neo/cod/std/src/imp/hawk-eyre.hoon index 9bcb473c9e..45958ef27a 100644 --- a/pkg/arvo/neo/cod/std/src/imp/hawk-eyre.hoon +++ b/pkg/arvo/neo/cod/std/src/imp/hawk-eyre.hoon @@ -29,7 +29,7 @@ =/ =crew:neo (~(gas by *crew:neo) src/inner ~) =/ =made:neo [%hawk-eyre-handler `[stud vax] crew] :_ sig/!>(~) - :~ [(welp here.bowl #/[uv/(end [3 4] eny.bowl)]) %make made] + :~ [(welp here.bowl #/[uv/(end 3^4 eny.bowl)]) %make made] == == ++ init diff --git a/pkg/arvo/sur/neo.hoon b/pkg/arvo/sur/neo.hoon index ec1294ba22..53088de953 100644 --- a/pkg/arvo/sur/neo.hoon +++ b/pkg/arvo/sur/neo.hoon @@ -1324,6 +1324,7 @@ [%rely =term =pith] [%halt ~] == ++$ dead term +$ howl tone :: $wail: change result +$ wail (trel hunt howl mode) @@ -2131,6 +2132,7 @@ $: code=stud =dock =crew + live=? == +$ tide (axal wave) ::