From 1ada3283409ab24fe53adbee950889be50e3e036 Mon Sep 17 00:00:00 2001 From: Liam Fitzgerald Date: Wed, 12 Jun 2024 13:22:24 -0400 Subject: [PATCH] neo: first pass of %dead --- pkg/arvo/app/neo.hoon | 44 +++++++++++++++++-- pkg/arvo/lib/neo-two.hoon | 48 ++++++++++++++------- pkg/arvo/mar/md.hoon | 9 ++-- pkg/arvo/neo/cod/std/src/imp/accel.hoon | 4 +- pkg/arvo/neo/cod/std/src/imp/hawk-eyre.hoon | 2 +- pkg/arvo/sur/neo.hoon | 2 + 6 files changed, 84 insertions(+), 25 deletions(-) diff --git a/pkg/arvo/app/neo.hoon b/pkg/arvo/app/neo.hoon index 1802828df5..dad1b6987d 100644 --- a/pkg/arvo/app/neo.hoon +++ b/pkg/arvo/app/neo.hoon @@ -802,6 +802,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 @@ -835,6 +858,7 @@ :: ++ take |= gis=(list gift:dirt:neo) + ~& gis/gis =/ laf (fury gis) =* loop-gift $ ^+ run @@ -842,6 +866,8 @@ run =/ [=pith:neo =loot:neo] i.gis =. run (sweep i.gis) + =? run =(%del mode.loot) + (reap pith loot) $(gis t.gis) :: ++ fume-add @@ -1714,7 +1740,9 @@ :: ++ trace-card |= =move:neo - ^- tank + %- trace + ^- tang + =- -^~ :- %leaf "{(en-tape:pith:neo p.move)} -> {(en-tape:pith:neo p.q.move)}: {<-.q.q.move>}" ++ trace @@ -1777,7 +1805,7 @@ =. src (de-pith:name:neo p.move) =/ =name:neo (de-pith:name:neo p.q.move) =. here +:p.q.move - %- (trace leaf/"{<-.q.q.move>} {(spud (pout here))}" ~) + %- (trace-card move) ?- -.q.q.move %make (make +.q.q:move) %poke (poke +.q.q:move) @@ -1873,7 +1901,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) get.block (jazz crew deps:~(kook husk src)) @@ -1913,6 +1941,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))) @@ -1993,6 +2024,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 @@ -2000,6 +2036,8 @@ ?~ ack same (slog (print-quit:neo u.ack)) + ?: |(=(%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 85a0c5b43d..dd63183158 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/mar/md.hoon b/pkg/arvo/mar/md.hoon index 4f790f8182..7ac7e7939d 100644 --- a/pkg/arvo/mar/md.hoon +++ b/pkg/arvo/mar/md.hoon @@ -5,16 +5,17 @@ :: =, format =, mimes:html -|_ txt=wain +|_ txt=@ :: ++ grab :: convert from |% - ++ mime |=((pair mite octs) (to-wain q.q)) - ++ noun wain :: clam from %noun + ++ mime |=((pair mite octs) q.q) + ++ noun ,@ :: clam from %noun -- ++ grow |% - ++ mime [/text/plain (as-octs (of-wain txt))] + ++ mime [/text/plain (as-octs txt)] + ++ noun txt -- ++ grad %mime -- diff --git a/pkg/arvo/neo/cod/std/src/imp/accel.hoon b/pkg/arvo/neo/cod/std/src/imp/accel.hoon index 56ffbb347f..c5f2fa7e4d 100644 --- a/pkg/arvo/neo/cod/std/src/imp/accel.hoon +++ b/pkg/arvo/neo/cod/std/src/imp/accel.hoon @@ -57,8 +57,8 @@ ++ init |= old=(unit pail:neo) ^- (quip card:neo pail:neo) - =/ width 10 - =/ height 10 + =/ width 3 + =/ height 3 :_ accel/!>([width height]) (make-cells bowl 1 width 1 height %in) :: 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 51efe99ca1..14d103e734 100644 --- a/pkg/arvo/neo/cod/std/src/imp/hawk-eyre.hoon +++ b/pkg/arvo/neo/cod/std/src/imp/hawk-eyre.hoon @@ -26,7 +26,7 @@ =/ =crew:neo (~(gas by *crew:neo) src/inner ~) =/ =made:neo [%hawk-eyre-handler `[stud vax] crew] :_ sig/!>(~) - :~ [(welp here.bowl #/[uv/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 3033087723..c958b61210 100644 --- a/pkg/arvo/sur/neo.hoon +++ b/pkg/arvo/sur/neo.hoon @@ -1318,6 +1318,7 @@ [%rely =term =pith] [%halt ~] == ++$ dead term +$ howl tone :: $wail: change result +$ wail (trel hunt howl mode) @@ -2125,6 +2126,7 @@ $: code=stud =dock =crew + live=? == +$ tide (axal wave) ::