neo: fix accel deps sync

This commit is contained in:
Liam Fitzgerald 2024-06-17 13:46:26 -04:00
parent ca8a21a33c
commit 7b7128da26
5 changed files with 75 additions and 28 deletions

View File

@ -197,6 +197,7 @@
++ do-ack ++ do-ack
|= =ack:neo |= =ack:neo
^- (list card) ^- (list card)
%- (slog leaf/"do from: {<p.p.ack>} to: {<q.p.ack>}" ~)
?: =(p.ack sys-pith) ?: =(p.ack sys-pith)
%. *(list card) %. *(list card)
?~ q.ack ?~ q.ack
@ -272,7 +273,7 @@
++ on-move ++ on-move
|= =move:neo |= =move:neo
^+ run ^+ run
%- (slog leaf/"{(en-tape:pith:neo p.move)} -> {(en-tape:pith:neo p.q.move)}: {<-.q.q.move>}" ~) :: %- (slog leaf/"{(en-tape:pith:neo p.move)} -> {(en-tape:pith:neo p.q.move)}: {<-.q.q.move>}" ~)
=/ src=name:neo (de-pith:name:neo p.move) =/ src=name:neo (de-pith:name:neo p.move)
=/ dst=name:neo (de-pith:name:neo p.q.move) =/ dst=name:neo (de-pith:name:neo p.q.move)
?> =(src.bowl ship.src) ?> =(src.bowl ship.src)
@ -291,6 +292,7 @@
%gone (slog leaf/"Missing dep: {<term.u.q.ack>}" ~) %gone (slog leaf/"Missing dep: {<term.u.q.ack>}" ~)
%goof (slog leaf/"nacked on flow {<p.ack>}" tang.u.q.ack) %goof (slog leaf/"nacked on flow {<p.ack>}" tang.u.q.ack)
== ==
%- (slog leaf/"on-ack from: {<p.p.ack>} to: {<q.p.ack>}" ~)
(on-move q.p.ack p.p.ack %poke ack/!>(q.ack)) (on-move q.p.ack p.p.ack %poke ack/!>(q.ack))
:: ::
++ on-dirt-card ++ on-dirt-card
@ -1728,9 +1730,17 @@
:: ::
++ trace-card ++ trace-card
|= =move:neo |= =move:neo
^- tank ::?: =((snag 1 p.q.move) %srv)
:: same
%- trace
^- tang
:_ ~
:- %leaf :- %leaf
"{(en-tape:pith:neo p.move)} -> {(en-tape:pith:neo p.q.move)}: {<-.q.q.move>}" %+ welp
"{(en-tape:pith:neo p.move)} -> {(en-tape:pith:neo p.q.move)}: "
?+ -.q.q.move (trip -.q.q.move)
%poke "%poke {<p.pail.q.q.move>}"
==
++ trace ++ trace
|= =tang |= =tang
?. verb same ?. verb same
@ -1784,6 +1794,7 @@
++ apply ++ apply
|= =move:neo |= =move:neo
^+ arvo ^+ arvo
%- (trace-card move)
?. =(~ err.block) ?. =(~ err.block)
:: skip if we have errored :: skip if we have errored
arvo arvo
@ -1791,7 +1802,6 @@
=. src (de-pith:name:neo p.move) =. src (de-pith:name:neo p.move)
=/ =name:neo (de-pith:name:neo p.q.move) =/ =name:neo (de-pith:name:neo p.q.move)
=. here +:p.q.move =. here +:p.q.move
%- (trace leaf/"{<-.q.q.move>} {(spud (pout here))}" ~)
?- -.q.q.move ?- -.q.q.move
%make (make +.q.q:move) %make (make +.q.q:move)
%poke (poke +.q.q:move) %poke (poke +.q.q:move)
@ -1832,26 +1842,33 @@
|- ^+ [bad arvo] |- ^+ [bad arvo]
?~ deps ?~ deps
[bad arvo] [bad arvo]
=/ [=term required=? =quay:neo] i.deps =/ [=term =deed:neo =quay:neo] i.deps
=/ req=?
?@(deed deed req.deed)
=/ timeout=(unit @dr)
?@(deed ~ time.deed)
=/ =care:neo (get-care:quay:neo quay) =/ =care:neo (get-care:quay:neo quay)
?: &(required !(~(has by conf) term)) ?: &(req !(~(has by conf) term))
=. bad (~(put in bad) term) =. bad (~(put in bad) term)
$(deps t.deps) $(deps t.deps)
?: &(!required !(~(has by conf) term)) ?: &(!req !(~(has by conf) term))
$(deps t.deps) $(deps t.deps)
=/ pit=pith:neo (~(got by conf) term) =/ pit=pith:neo (~(got by conf) term)
=/ res (look care pit) =/ res (look care pit)
=/ nam=name:neo (de-pith:name:neo pit) =/ nam=name:neo (de-pith:name:neo pit)
?~ res ?~ res
?: =(our.bowl ship.nam) ?: =(our.bowl ship.nam)
?. required ?. req
$(deps t.deps) $(deps t.deps)
=. bad (~(put in bad) term) =. bad (~(put in bad) term)
$(deps t.deps) $(deps t.deps)
=? get.block required ?: &(=(timeout `0) req)
=. bad (~(put in bad) term)
$(deps t.deps)
=? get.block req
(~(put in get.block) care pit) (~(put in get.block) care pit)
=. run abet:(~(start sale pit) [p/our.bowl here] care) =. run abet:(~(start sale pit) [p/our.bowl here] care)
=? run !required =? run !req
(stalk:rage care^pit %rely term here) (stalk:rage care^pit %rely term here)
$(deps t.deps) $(deps t.deps)
?^ u.res ?^ u.res
@ -1867,11 +1884,13 @@
?~ cew ?~ cew
arvo arvo
=/ [=term =pith:neo] i.cew =/ [=term =pith:neo] i.cew
=/ d=(unit [req=? =quay:neo]) (~(get by band) term) =/ d=(unit [=deed:neo =quay:neo]) (~(get by band) term)
:: skip extraneous, XX: is correct? :: skip extraneous, XX: is correct?
?~ d ?~ d
$(cew t.cew) $(cew t.cew)
=/ [req=? =quay:neo] u.d =/ [=deed:neo =quay:neo] u.d
=/ req=?
?@(deed deed req.deed)
=/ =hunt:neo [(get-care:quay:neo quay) pith] =/ =hunt:neo [(get-care:quay:neo quay) pith]
=/ =name:neo (de-pith:name:neo pith) =/ =name:neo (de-pith:name:neo pith)
?: &(req =(~ (moor quay name))) ?: &(req =(~ (moor quay name)))
@ -1976,18 +1995,19 @@
%- ~(gas by *(map term [pith lore:neo])) %- ~(gas by *(map term [pith lore:neo]))
^- (list [term pith lore:neo]) ^- (list [term pith lore:neo])
%+ murn ~(tap by deps:kook) %+ murn ~(tap by deps:kook)
|= [=term required=? =quay:neo] |= [=term =deed:neo =quay:neo]
^- (unit [^term pith:neo lore:neo]) ^- (unit [^term pith:neo lore:neo])
=/ dep=(unit pith) (~(get by crew.wave) term) =/ dep=(unit pith) (~(get by crew.wave) term)
=/ req ?@(deed deed req.deed)
?~ dep ?~ dep
~| invariant-missing-required-conf/term ~| invariant-missing-required-conf/term
?< required ?< req
~ ~
=/ =name:neo (de-pith:name:neo u.dep) =/ =name:neo (de-pith:name:neo u.dep)
=/ =care:neo (get-care:quay:neo quay) =/ =care:neo (get-care:quay:neo quay)
?~ lor=(moor quay name) ?~ lor=(moor quay name)
?< required ?< req
~ `[term u.dep *lore:neo]
:: %- (slog term (epic:dbug:neo epic) ~) :: %- (slog term (epic:dbug:neo epic) ~)
`[term u.dep u.lor] `[term u.dep u.lor]
:: ::
@ -2012,7 +2032,7 @@
++ su-give ++ su-give
|= =gift:neo |= =gift:neo
?. (~(has in poke.dock.wave) %gift) ?. (~(has in poke.dock.wave) %gift)
~& skipping-give/here :: ~& skipping-give/here
su-core su-core
(su-poke gift/!>(gift)) (su-poke gift/!>(gift))
:: ::
@ -2027,7 +2047,7 @@
same same
(slog (print-quit:neo u.ack)) (slog (print-quit:neo u.ack))
?: ?=(%rely p.pail) ?: ?=(%rely p.pail)
((slog leaf/"no support for %rely" ~) su-core) su-core :: ((slog leaf/"no support for %rely" ~) su-core)
(mean leaf/"no support for {<p.pail>}" ~) (mean leaf/"no support for {<p.pail>}" ~)
=/ [caz=(list card:neo) new=pail:neo] =/ [caz=(list card:neo) new=pail:neo]
(poke:su-form pail) (poke:su-form pail)

View File

@ -498,7 +498,7 @@
++ piek ++ piek
|= [=care:neo =pith:neo] |= [=care:neo =pith:neo]
^- (unit (unit (axal:neo saga:neo))) ^- (unit (unit (axal:neo saga:neo)))
~& peek-no-once/[care pith] :: ~& peek-no-once/[care pith]
``(fallback-peek care pith) ``(fallback-peek care pith)
:: ::
@ -506,7 +506,7 @@
|= [=care:neo =pith:neo] |= [=care:neo =pith:neo]
^- (unit (unit (axal:neo saga:neo))) ^- (unit (unit (axal:neo saga:neo)))
?~ nce=(now-once care pith) ?~ nce=(now-once care pith)
~& peek-no-once/[care pith] :: ~& peek-no-once/[care pith]
~ ~
:: =/ res :: =/ res
:: (fallback-peek care pith) :: (fallback-peek care pith)

View File

@ -5,6 +5,7 @@
++ build ++ build
|= [=bowl:neo conf=accel-conf] |= [=bowl:neo conf=accel-conf]
^- (quip card pail:neo) ^- (quip card pail:neo)
~& build/conf
:_ accel-conf/!>(conf) :_ accel-conf/!>(conf)
=/ =term =/ =term
`@tas`(cat 3 'accel-' (scot %t (spat (pout (snip here.bowl))))) `@tas`(cat 3 'accel-' (scot %t (spat (pout (snip here.bowl)))))
@ -30,14 +31,32 @@
|= [=term =pith:neo =lore:neo] |= [=term =pith:neo =lore:neo]
^- [^term vase] ^- [^term vase]
[term (lift-lore lore)] [term (lift-lore lore)]
++ check-prelude
=| res=(set term)
|= =bowl:neo
^+ res
=/ deps ~(tap by deps.bowl)
|- ^+ res
?~ deps
res
=/ [=term =pith:neo =lore:neo] i.deps
?. =(lore *lore:neo)
$(deps t.deps)
$(deps t.deps, res (~(put in res) term))
:: ::
++ produce ++ produce
|= =bowl:neo |= =bowl:neo
^- pail:neo ^- pail:neo
=/ missing (check-prelude bowl)
~& hoon/hoon.conf
?. =(missing ~)
:- %tang !> ^- tang
[leaf/"Missing deps" (turn ~(tap in missing) |=(=term leaf/(trip term)))]
=/ res=(each vase tang) =/ res=(each vase tang)
(mule |.((slap (get-prelude bowl) (ream hoon.conf)))) (mule |.((slap (get-prelude bowl) (ream hoon.conf))))
?: ?=(%& -.res) ?: ?=(%& -.res)
vase/p.res vase/p.res
%- (slog p.res)
tang/!>(p.res) tang/!>(p.res)
-- --
^- kook:neo ^- kook:neo
@ -50,7 +69,7 @@
%+ turn ~(tap in ~(key by crew.conf)) %+ turn ~(tap in ~(key by crew.conf))
|= =term |= =term
^- [_term fief:neo] ^- [_term fief:neo]
[term req=& [any/~ ~] ~] [term req=| [any/~ ~] ~]
++ form ++ form
^- form:neo ^- form:neo
|_ [=bowl:neo =aeon:neo =pail:neo] |_ [=bowl:neo =aeon:neo =pail:neo]
@ -58,16 +77,18 @@
|= [=stud:neo vax=vase] |= [=stud:neo vax=vase]
^- (quip card:neo pail:neo) ^- (quip card:neo pail:neo)
=/ new=pail:neo (produce bowl) =/ new=pail:neo (produce bowl)
?: =(new pail) %- (slog leaf/"New val: {<here.bowl>}" (sell q.new) ~)
`pail ?: =(new pail) `new
:_ pail :_ new
%+ turn ~(tap by poke.conf) %+ turn ~(tap by poke.conf)
|= [=pith:neo =stud:neo] |= [=pith:neo =stud:neo]
[pith %poke [stud q.pail]] [pith %poke [stud q.new]]
:: ::
++ init ++ init
|= pal=(unit pail:neo) |= pal=(unit pail:neo)
`(produce bowl) =/ new=pail:neo (produce bowl)
%- (slog leaf/"New val: {<here.bowl>}" (sell q.new) ~)
`new
-- --
-- --
-- --

View File

@ -29,7 +29,7 @@
=/ =crew:neo (~(gas by *crew:neo) src/inner ~) =/ =crew:neo (~(gas by *crew:neo) src/inner ~)
=/ =made:neo [%hawk-eyre-handler `[stud vax] crew] =/ =made:neo [%hawk-eyre-handler `[stud vax] crew]
:_ sig/!>(~) :_ sig/!>(~)
:~ [(welp here.bowl #/[uv/eny.bowl]) %make made] :~ [(welp here.bowl #/[uv/(end [3 4] eny.bowl)]) %make made]
== ==
== ==
++ init ++ init

View File

@ -851,6 +851,12 @@
++ duck (dial dole) ++ duck (dial dole)
-- --
:: ::
+$ deed
$@ ?
$: time=(unit @dr)
req=?
==
::
:: $gift: notification that a children changed :: $gift: notification that a children changed
:: ::
+$ gift (axal loot) +$ gift (axal loot)
@ -2007,7 +2013,7 @@
%x %x
p.u.q.q p.u.q.q
-- --
+$ fief [required=? =quay] +$ fief [=deed =quay]
:: ::
:: $port: Children API :: $port: Children API
:: ::