diff --git a/arvo/hoon.hoon b/arvo/hoon.hoon index 4cdd1ac14..36ec361eb 100644 --- a/arvo/hoon.hoon +++ b/arvo/hoon.hoon @@ -1,4 +1,4 @@ -:::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::: +!::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::: :::::: Preface :::::: :::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::: ?> ?=(@ .) :: atom subject @@ -9,13 +9,13 @@ (make:all cud) :: else simple compile ^= all :: assemble engine =~ :: volume stack -%163 :: version constant +%162 :: version constant :::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::: :::::: volume 0, version stub :::::: -:::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::: -~% %k.163 ~ ~ :: +:::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::: +~% %k.162 ~ ~ :: |% :: -++ hoon %163 :: version stub +++ hoon %162 :: version stub -- :: :::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::: :::::: volume 1, Hoon models :::::: @@ -89,7 +89,11 @@ ?@ +.b ~ :: :- ~ :: u=[p=(a +>-.b) q=[p=(hair -.b) q=(tape +.b)]] :: -++ limb $@(term $%({$& p/axis} {$| p/@ud q/term})) :: +++ limb $@ term + $% {$& p/axis} + {$| p/@ud q/term} + {$2 p/@ud q/[~ term]} + == ++ line {p/{$leaf p/odor q/@} q/tile} :: %kelp case ++ list |* a/$+(* *) :: null-term list $@($~ {i/a t/(list a)}) :: @@ -7492,11 +7496,12 @@ |- ^- type ?~ peh ?:(pol (fuse ref) (crop ref)) - => .(i.peh ?^(i.peh i.peh [%| p=0 q=i.peh])) + => .(i.peh ?^(i.peh i.peh [%2 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 ?: =(1 p.poz) @@ -7504,6 +7509,7 @@ $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) $2 %+ bull @@ -8928,7 +8934,7 @@ ^- port ?~ hyp [1 %& sut] - => .(i.hyp ?^(i.hyp i.hyp [%| p=0 q=i.hyp])) + => .(i.hyp ?^(i.hyp i.hyp [%2 p=0 q=`i.hyp])) =+ zar=$(hyp t.hyp) =+ ^= syp ?- -.q.zar @@ -8943,6 +8949,11 @@ => .(sut syp) =+ hud=(fink p.i.hyp way q.i.hyp) [(peg p.zar p.hud) q.hud] + :: + [$2 *] + => .(sut syp) + =+ hud=(fink p.i.hyp way +.q.i.hyp) + [(peg p.zar p.hud) q.hud] == :: ++ seep @@ -8993,6 +9004,19 @@ =+ 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)) + ~| [%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)] == :: ++ tock @@ -10043,7 +10067,7 @@ dot ;~ pose %+ cook - |=({a/(list) b/term} ?~(a b [%| (lent a) b])) + |=({a+(list) b+term} ?~(a b [%2 (lent a) `b])) ;~(plug (star ket) ;~(pose sym (cold %$ buc))) :: %+ cook