diff --git a/base/arvo/clay.hoon b/base/arvo/clay.hoon index b9f8773f5..f3c3690c6 100644 --- a/base/arvo/clay.hoon +++ b/base/arvo/clay.hoon @@ -184,6 +184,23 @@ |= gag=gage ^- (list (pair cage cage)) (unwrap-tang (gage-to-tage gag)) :: + ++ gage-to-success-cages + |= gag=gage + ^- (list (pair cage cage)) + ?. ?=(%tabl -.gag) + (ford-fail ?-(-.gag %| p.gag, %& [>%strange-gage p.p.gag<]~)) + %+ murn p.gag + |= [key=gage val=gage] ^- (unit ,[cage cage]) + ?. ?=(%& -.key) + (ford-fail ?-(-.key %| p.key, %tabl [>%strange-gage<]~)) + ?- -.val + %tabl (ford-fail >%strange-gage< ~) + %& (some [p.key p.val]) + %| =. p.val [(sell q.p.key) p.val] + ~> %slog.[0 %*(. >%ford-fail syd %for %why< |2.+> p.val)] + ~ + == + :: ++ gage-to-tage |= gag=gage ^- (each (list (pair cage cage)) tang) @@ -567,7 +584,7 @@ (apply-edit wen) +>.$ ^- (list (pair path cage)) - %+ turn (gage-to-cages res) + %+ turn (gage-to-success-cages res) |= [pax=cage cay=cage] ?. ?=(%path p.pax) ~|(%clay-take-inserting-strange-path-mark !!) diff --git a/base/arvo/ford.hoon b/base/arvo/ford.hoon index 5fcb412cf..f5a324be5 100644 --- a/base/arvo/ford.hoon +++ b/base/arvo/ford.hoon @@ -275,6 +275,8 @@ %lime lime %lima lima %link link + %lion lion + %lily lily %lope lope %make make %meow meow @@ -1174,9 +1176,9 @@ %+ cope |- ^- (bolt (list (pair gage gage))) ?~ p.kas (fine cof ~) - %+ cope (make cof p.i.p.kas) + %+ cope (fret (make cof p.i.p.kas)) |= [cof=cafe key=gage] - %+ cope (make cof q.i.p.kas) + %+ cope (fret (make cof q.i.p.kas)) |= [cof=cafe val=gage] %+ cope ^^$(cof cof, p.kas t.p.kas) |= [cof=cafe rex=(list (pair gage gage))]