diff --git a/arvo/hoon.hoon b/arvo/hoon.hoon index a04bdc659..20f09f5ec 100644 --- a/arvo/hoon.hoon +++ b/arvo/hoon.hoon @@ -1,4 +1,4 @@ -!::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::: +!::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::: :::::: Preface :::::: :::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::: ?> ?=(@ .) :: atom subject @@ -91,6 +91,7 @@ u=[p=(a +>-.b) q=[p=(hair -.b) q=(tape +.b)]] :: ++ limb $@ term $% {$& p/axis} + {$| p/@ud q/(unit term)} {$2 p/@ud q/{$~ term}} == ++ line {p/{$leaf p/odor q/@} q/tile} :: %kelp case @@ -7495,10 +7496,11 @@ |- ^- type ?~ peh ?:(pol (fuse ref) (crop ref)) - => .(i.peh ?^(i.peh i.peh [%2 p=0 q=`i.peh])) + => .(i.peh ?^(i.peh i.peh [%| p=0 q=`i.peh])) =+ ^= poz ^- post ?- -.i.peh $& [p.i.peh %& (peek %both p.i.peh)] + $| (finq p.i.peh %both +.q.i.peh) $2 (finq p.i.peh %both +.q.i.peh) == |- ^- type @@ -7506,6 +7508,7 @@ ?- -.q.poz $0 ?- -.i.peh $& ^$(peh t.peh) + $| (face +.q.i.peh ^$(peh t.peh, sut p.q.poz)) $2 (face +.q.i.peh ^$(peh t.peh, sut p.q.poz)) == $1 ^$(peh t.peh) @@ -8931,7 +8934,7 @@ ^- port ?~ hyp [1 %& sut] - => .(i.hyp ?^(i.hyp i.hyp [%2 p=0 q=`i.hyp])) + => .(i.hyp ?^(i.hyp i.hyp [%| p=0 q=`i.hyp])) =+ zar=$(hyp t.hyp) =+ ^= syp ?- -.q.zar @@ -8941,6 +8944,11 @@ ?- i.hyp {$& *} [(peg p.zar p.i.hyp) %& (peek(sut syp) way p.i.hyp)] + :: + {$| *} + => .(sut syp) + =+ hud=(fink p.i.hyp way +.q.i.hyp) + [(peg p.zar p.hud) q.hud] :: {$2 *} => .(sut syp) @@ -8974,7 +8982,7 @@ |- ^- {p/axis q/type} ?~ peh [axe mur] - => .(i.peh ?^(i.peh i.peh [%2 p=0 q=`i.peh])) + => .(i.peh ?^(i.peh i.peh [%| p=0 q=`i.peh])) ?- i.peh {$& *} =+ ^= sap ^- (unit term) @@ -8983,6 +8991,19 @@ =+ gav=$(peh t.peh, sut vas, axe (peg axe p.i.peh)) =+ heh=(heal ~ p.i.peh q.gav) [p.gav ?~(sap heh (face u.sap heh))] + :: + {$| *} + =+ dob=`post`(need q:(fino p.i.peh %rite +.q.i.peh)) + ~| [%tack-limb q.i.peh] + ?: ?=($2 -.q.dob) + =+ hoc=(peg axe p.dob) + =+ guh=$(peh t.peh, sut s.p.q.dob, axe (peg hoc r.p.q.dob)) + =+ zig=$(peh q.p.q.dob, sut q.q.dob, mur q.guh) + =+ zug=(heal [~ +.q.i.peh] p.dob (busk(sut q.zig) p.p.q.dob q.p.q.dob)) + [p.guh zug] + =+ wuf=(flay (flee dob)) + =+ gav=$(peh t.peh, sut q.wuf, axe (peg axe p.wuf)) + [p.gav (heal [~ +.q.i.peh] p.wuf q.gav)] :: {$2 *} =+ dob=`post`(need q:(fino p.i.peh %rite +.q.i.peh)) @@ -10046,7 +10067,7 @@ dot ;~ pose %+ cook - |=({a/(list) b/term} ?~(a b [%2 (lent a) `b])) + |=({a/(list) b/term} ?~(a b [%| (lent a) `b])) ;~(plug (star ket) ;~(pose sym (cold %$ buc))) :: %+ cook