diff --git a/arvo/clay.hoon b/arvo/clay.hoon index 729fb36329..25b56b896a 100644 --- a/arvo/clay.hoon +++ b/arvo/clay.hoon @@ -1517,7 +1517,7 @@ %v [~ %dome !>(dom)] %x !! :: ?~(q.ank.dom ~ [~ q.u.q.ank.dom]) %y !! :: [~ %arch !>(as-arch)] - %z [~ %ankh !>(ank.dom)] + %z !! :: [~ %ankh !>(ank.dom)] == :: ++ new-lobes :: object hash set @@ -1645,6 +1645,28 @@ :: ~& cy/pax :- -:!>(*arch) ^- arch + :- (~(get by q.yak) pax) + ^- (map span ,~) + %- mo ^- (list (pair span ,~)) + %+ turn + ^- (list (pair path lobe)) + %+ skim (~(tap by (~(del by q.yak) pax))) + |= [paf=path lob=lobe] + =(pax (scag len paf)) + |= [paf=path lob=lobe] + =+ pat=(slag len paf) + [?>(?=(^ pat) i.pat) ~] + :: + ++ read-z + |= [yon=aeon pax=path] + ^- (unit (unit ,[%uvi (hypo ,@uvI)])) + ?: =(0 yon) + ``uvi/[-:!>(*@uvI) *@uvI] + =+ tak=(~(get by hit.dom) yon) + ?~ tak + ~ + =+ yak=(tako-to-yaki u.tak) + =+ len=(lent pax) =+ ^- descendants=(list (pair path lobe)) :: ~& %turning :: =- ~& %turned - @@ -1657,18 +1679,15 @@ |= [paf=path lob=lobe] [(slag len paf) lob] =+ us=(~(get by q.yak) pax) - :+ ?: &(?=(~ descendants) ?=(~ us)) - *@uvI - %+ roll - ^- (list (pair path lobe)) - [[~ ?~(us *lobe u.us)] descendants] - |=([[path lobe] @uvI] (shax (jam +<))) - us - ^- (map span ,~) - %- mo ^- (list (pair span ,~)) - %+ turn descendants - |= [paf=path lob=lobe] - [?>(?=(^ paf) i.paf) ~] + ^- (unit (unit ,[%uvi (hypo ,@uvI)])) + :^ ~ ~ %uvi + :- -:!>(*@uvI) + ?: &(?=(~ descendants) ?=(~ us)) + *@uvI + %+ roll + ^- (list (pair path lobe)) + [[~ ?~(us *lobe u.us)] descendants] + |=([[path lobe] @uvI] (shax (jam +<))) :: ++ read-at-aeon :: read-at-aeon:ze |= [yon=aeon mun=mood] :: seek and read @@ -1692,6 +1711,8 @@ :: == :: - (bind (read-y yon r.mun) (curr bind (cury same %&))) + ?: ?=(%z p.mun) + (bind (read-z yon r.mun) (curr bind (cury same %&))) %+ bind (rewind yon) |= a=(unit ,_+>.$) diff --git a/arvo/ford.hoon b/arvo/ford.hoon index 7d7d02c155..a468fadc4c 100644 --- a/arvo/ford.hoon +++ b/arvo/ford.hoon @@ -284,7 +284,7 @@ =< (welp :_(mow (turn (~(tap in p.u.dap)) .))) |= bem=beam :^ hen %pass [(scot %p our) (scot %uv dep) (tope bem)] - [%c [%warp [our p.bem] q.bem ~ [%next %y r.bem (flop s.bem)]]] + [%c [%warp [our p.bem] q.bem ~ [%next %z r.bem (flop s.bem)]]] == == :: ++ zo diff --git a/arvo/hoon.hoon b/arvo/hoon.hoon index c6f9a663a2..c595bf6117 100644 --- a/arvo/hoon.hoon +++ b/arvo/hoon.hoon @@ -10227,7 +10227,7 @@ :::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::: ~% %arvo + ~ |% -++ arch ,[hax=@uvI fil=(unit ,@uvI) dir=(map ,@ta ,~)]:: fundamental node +++ arch ,[fil=(unit ,@uvI) dir=(map ,@ta ,~)] :: fundamental node ++ arvo (mold ,[p=term q=mill] mill) :: arvo card ++ beam ,[[p=ship q=desk r=case] s=path] :: global name ++ beak ,[p=ship q=desk r=case] :: garnish with beak diff --git a/lib/kiln.hoon b/lib/kiln.hoon index 77aad684ba..e7557abe9c 100644 --- a/lib/kiln.hoon +++ b/lib/kiln.hoon @@ -180,7 +180,7 @@ |= syd=term ^- card :* %warp /kiln/autoload/[syd] [our our] %home ~ - %next %y da/now /arvo/[syd]/hoon + %next %z da/now /arvo/[syd]/hoon == :: ++ poke-overload @@ -234,7 +234,7 @@ =. +>.$ %- emit :* %warp /kiln/autoload/[syd] [our our] %home ~ - %next %y da/now /arvo/[syd]/hoon + %next %z da/now /arvo/[syd]/hoon == abet ::