diff --git a/sys/vane/ford.hoon b/sys/vane/ford.hoon index 2b1fa6c96a..a9350eee53 100644 --- a/sys/vane/ford.hoon +++ b/sys/vane/ford.hoon @@ -1985,4 +1985,112 @@ == abet:(~(axon za [our hen [now eny ski] ~] bay) num [van ren bem] q.hin) [mos ..^$(pol (~(put by pol) our bay))] +:: +++ neon !: + |= our/ship + ^- (^vane task:able gift:able sign note axle axle) + =| axle + =* lex - + |% + ++ load |=(axle +>) + ++ stay `axle`+<(pol (~(run by pol) |=(a/baby [tad.a dym.a deh.a ~]))) + ++ plow + =| $: now/@da + eny/@e + sky/roof + == + |% + ++ doze ~ + ++ peek + |= $: lyc/(unit (set ship)) + car/term + bem/beam + == + ^- (unit (unit (cask vase))) + [~ ~] + :: + ++ spin + =| $: hen/duct + moz/(list (pair duct (wind note gift:able))) + == + |% + ++ call + |= tac/task:able + ^+ +> + =^ vam +> + ^+ [p=*(list move) q=+>.$] + ?: ?=($wegh -.tac) + :_ +>.$ :_ ~ + :^ hen %give %mass + :- %ford + :- %| + %- |= a/(list (list mass)) ^- (list mass) + =+ a2=a + ?~ a !! + ?~ i.a ~ + :_ $(a (turn a2 tail)) + :- p.i.i.a + ?~ -.q.i.i.a + [%& (turn (turn a2 head) |=(b/mass ?~(-.q.b p.q.b !!)))] + [%| $(a (turn (turn a2 head) |=(b/mass ?~(-.q.b !! p.q.b))))] + %+ turn (~(tap by pol)) + |= {@ baby} + :~ =< :+ %cache + %| + (turn `(list term)`/hood/bake/slit/slim/slap/slam .) + =- |=(a/term [a %& (~(get ja dep) a)]) + =< `dep/(jar term *)`(~(rep by jav) .) + |=({{* a/{term *}} b/(jar term *)} (~(add ja b) -.a +.a)) + :: + =< depends+[%| (turn `(list term)`/init/sent/done .)] + =- |=(a/term [a %& (~(get ja dep) a)]) + =< `dep/(jar term *)`(~(rep by deh) .) + |=({{@ a/{term *}} b/(jar term *)} (~(add ja b) -.a +.a)) + :: + tasks+[%& dym tad] + == + =+ our=p.tac + =+ ^= bay ^- baby + =+ buy=(~(get by pol.lex) our) + ?~(buy *baby u.buy) + =^ mos bay + ?- -.tac + $wipe ~&(%ford-cache-wiped [~ bay(jav ~)]) + $wasp + abet:(~(awap za [our hen [now eny ski] ~] bay) q.tac) + $exec + ?~ q.tac + abet:~(apax za [our hen [now eny ski] ~] bay) + abet:(~(apex za [our hen [now eny ski] ~] bay) u.q.tac) + == + [mos +>.$(pol (~(put by pol) our bay))] + +>.$(moz (weld `(list move)`vam moz)) + :: + ++ take + |= {tea/wire hin/sign} + ^+ +> + =^ vam +> + ^+ [p=*(list move) q=+>.$] + ?> ?=({@ @ *} tea) + =+ our=(slav %p i.tea) + =+ bay=(~(got by pol.lex) our) + =^ mos bay + =+ dep=(slaw %uv i.t.tea) + ?^ dep + =+ bem=(need (de-beam t.t.tea)) + =< abet + (~(axun za [our hen [now eny ski] ~] bay) tea u.dep bem hin) + ?> ?=({@ @ ^} t.t.tea) + =+ :* num=(slav %ud i.t.tea) + van=((hard vane) i.t.t.tea) + ren=((hard care:clay) i.t.t.t.tea) + bem=(need (de-beam t.t.t.t.tea)) + == + =< abet + (~(axon za [our hen [now eny ski] ~] bay) num [van ren bem] hin) + [mos +>.$(pol (~(put by pol) our bay))] + +>.$(moz (weld `(list move)`vam moz)) + -- + -- + -- -- diff --git a/sys/vane/gall.hoon b/sys/vane/gall.hoon index 91bb9cef15..cee4c97b2d 100644 --- a/sys/vane/gall.hoon +++ b/sys/vane/gall.hoon @@ -1320,4 +1320,74 @@ mo-abet:(mo-cyst:mow t.t.tea q.hin) ?> ?=($use i.t.tea) mo-abet:(mo-cook:mow t.t.tea hin) +:: +++ neon + |= our/ship + ^- (vane task:able gift:able sign-arvo note-arvo axle axle) + =| axle + =* lex - + |% + ++ load |=(axle +>) + ++ stay `axle`+< + ++ plow + =| $: now/@da + eny/@e + sky/roof + == + |% + ++ doze ~ + ++ peek + |= $: lyc/(unit (set ship)) + car/term + bem/beam + == + ^- (unit (unit (cask vase))) + =* who p.bem + ?: ?& =(%u car) + =(~ s.bem) + =([%da now] r.bem) + (~(has by pol.all) who) + (~(has by bum:(~(got by pol.all) who)) q.bem) + == + ``[%null !>(~)] + ?. (~(has by pol.all) who) + ~ + ?. =([%da now] r.bem) + ~ + ?. (~(has by bum:(~(got by pol.all) who)) q.bem) + [~ ~] + ?. ?=(^ s.bem) + ~ + (mo-peek:(mo-abed:mo who *duct) q.bem high+`who car s.bem) + :: + ++ spin + =| $: hen/duct + moz/(list (pair duct (wind note-arvo gift:able))) + == + |% + ++ call + |= tac/task:able + ^+ +> + =^ vam +> + ^+ [p=*(list move) q=+>.$] + !! + +>.$(moz (weld `(list move)`vam moz)) + :: + ++ take + |= {tea/wire hin/sign-arvo} + ^+ +> + =^ vam +> + ^+ [p=*(list move) q=+>.$] + :~| [%gall-take tea] + ?> ?=({@ ?($sys $use) *} tea) + =+ our=(need (slaw %p i.tea)) + =+ mow=(mo-abed:mo our hen) + ?: ?=($sys i.t.tea) + mo-abet:(mo-cyst:mow t.t.tea q.hin) + ?> ?=($use i.t.tea) + mo-abet:(mo-cook:mow t.t.tea hin) + +>.$(moz (weld `(list move)`vam moz)) + -- + -- + -- --