diff --git a/arvo/eyre.hoon b/arvo/eyre.hoon index 806962eb0..3902c3c09 100644 --- a/arvo/eyre.hoon +++ b/arvo/eyre.hoon @@ -56,7 +56,7 @@ ++ silk :: see %ford $& [p=silk q=silk] :: $% [%boil p=mark q=beam r=path] :: - [%cast p=mark q=beak r=silk] :: + [%cast p=mark q=silk] :: [%done p=(set beam) q=cage] :: == :: ++ sign :: in result $<- @@ -1639,8 +1639,7 @@ %fun :- [~ pip(pez %way)] =+ bem=`beam`(need (tome q.som.pip)) - =+ bek=`beak`[p.bem q.bem r.bem] - =+ kas=`silk`[%cast %mime bek `silk`[%boil p.som.pip bem ~]] + =+ kas=`silk`[%cast %mime `silk`[%boil p.som.pip bem ~]] +>.$(..ya (honk our num ses kas)) :: %lon @@ -1950,12 +1949,11 @@ som ^- seam :+ %sil ?:(-.u.huq 200 203) - =+ bek=`beak`[our %main [%da now]] =+ don=`silk`[%done ~ `cage`p.u.huq] ^- silk - :^ %cast %mime bek + :+ %cast %mime ?~ fur.pip don - `silk`[%cast u.fur.pip bek don] + `silk`[%cast u.fur.pip don] == == :: diff --git a/arvo/ford.hoon b/arvo/ford.hoon index 66c8d52c7..9b1f44d0e 100644 --- a/arvo/ford.hoon +++ b/arvo/ford.hoon @@ -65,9 +65,8 @@ $& [p=silk q=silk] :: cons $% [%bake p=mark q=beam r=path] :: local synthesis [%boil p=mark q=beam r=path] :: general synthesis - [%brew p=mark q=beam r=path] :: specific synthesis [%call p=silk q=silk] :: slam - [%cast p=mark q=beak r=silk] :: translate + [%cast p=mark q=silk] :: translate [%done p=(set beam) q=cage] :: literal [%dude p=tank q=silk] :: error wrap [%dune p=(set beam) q=(unit cage)] :: unit literal @@ -75,7 +74,7 @@ [%plan p=beam q=spur r=hood] :: structured assembly [%reef ~] :: kernel reef [%ride p=silk q=sill] :: obsolete old plan - [%vale p=mark q=sack r=*] :: validate [our his] + [%vale p=mark q=ship r=*] :: validate [our his] == :: ++ sill :: code construction $& [p=sill q=sill] :: compose @@ -122,8 +121,8 @@ dep=(set beam) :: dependencies == :: ++ calx :: concrete cache line - $% [%hood p=calm q=cage r=hood] :: compile to hood - [%slap p=calm q=[p=vase q=twig] r=vase] :: slap + $% [%hood p=calm q=(pair beam cage) r=hood] :: compile + [%slap p=calm q=[p=vase q=twig] r=vase] :: compute [%twig p=calm q=cage r=twig] :: compile to twig == :: ++ task :: problem in progress @@ -172,6 +171,7 @@ :: ++ faun |=([a=cafe b=vase] (fine a `cage`noun/b)) :: vase to cage ++ feel |=([a=cafe b=cage] (fine a q.b)) :: cage to vase +++ fest |*([a=cafe b=*] (fine a [~ u=b])) :: bolt to unit ++ fine |* [a=cafe b=*] :: bolt from data [p=`cafe`a q=[%0 p=*(set beam) q=b]] :: ++ flaw |=([a=cafe b=(list tank)] [p=a q=[%2 p=b]]) :: bolt from error @@ -402,13 +402,13 @@ |= gef=gift %_(+> mow :_(mow [hen %give gef])) :: - ++ fade :: compile %hood - |= [cof=cafe bem=beam arg=heel] - ^- (bolt hood) - =+ rul=(fair bem arg) - %+ (clef %hood) (make cof [%bake %hoon bem arg]) - ^- (burg cage hood) - |= [cof=cafe cay=cage] + ++ fact :: %hoon to vase + |= [cof=cafe hoc=(bolt (pair beam cage))] + ^- (bolt hood) + %+ (clef %hood) hoc + ^- (burg (pair beam cage) hood) + |= [cof=cafe bem=beam cay=cage] + =+ rul=(fair bem) ?. ?=(@ q.q.cay) (flaw cof ~) =+ vex=((full rul) [[1 1] (trip q.q.cay)]) @@ -416,6 +416,13 @@ (flaw cof [%leaf "syntax error: {} {}"] ~) (fine cof p.u.q.vex) :: + ++ fade :: compile to hood + |= [cof=cafe bem=beam] + ^- (bolt hood) + %+ cope (make cof [%bake %hoon bem ~]) + |= [cof=cafe cay=cage] + (fact cof (fine cof bem cay)) + :: ++ fane :: compile %hoon |= [cof=cafe kas=silk] ^- (bolt twig) @@ -431,9 +438,25 @@ (flaw cof [%leaf "syntax error: {} {}"] ~) (fine cof p.u.q.vex) :: + ++ fame :: naked protocol + |= [cof=cafe for=mark bek=beak] + ^- (bolt vase) + =+ pax=/gate/[for]/pro + =+ ^= bem ^- beam + :_ pax + ?: =(p.bek our) bek + =+ oak=[our %main %da now] + ?. =(~ (ska %cy (tope [oak pax]))) oak + bek + %+ cope (fade cof bem) + |= [cof=cafe hyd=hood] + %+ cope (ably:(meow bem ~) cof for hyd) + |= [cof=cafe gen=twig] + (maim cof pit gen) + :: ++ fair :: hood parsing rule - |= [bem=beam arg=heel] - =+ vez=(vang | (tope bem(s (weld arg s.bem)))) + |= bem=beam + =+ vez=(vang | (tope bem)) =< hood |% ++ case @@ -596,7 +619,7 @@ ?+ -.kas ~[(end 3 1 (scot %p (mug kas)))] %bake (tope q.kas(s (welp r.kas s.q.kas))) %boil (tope q.kas(s (welp r.kas s.q.kas))) - %cast $(kas r.kas) + %cast $(kas q.kas) %dude $(kas q.kas) %ride ?+ -.q.kas $(kas [%reef ~]) %drag (tope p.q.kas) @@ -635,13 +658,6 @@ |= [cof=cafe vax=vase] (fine cof p.cay vax) :: - ++ krab :: load to vase - |= [cof=cafe for=mark how=mark bem=beam arg=heel] - ^- (bolt vase) - %+ cope (fane cof %bake how bem arg) - |= [cof=cafe gen=twig] - (maim cof pit gen) - :: ++ lace :: load and check |= [cof=cafe for=mark bem=beam arg=heel] ^- (bolt (unit vase)) @@ -649,47 +665,39 @@ %+ cope (lend cof bem) |= [cof=cafe arc=arch] ?^ q.arc - (cope (liar cof bem) (lake for bek)) + (cope (cope (liar cof bem) (lake for bek)) fest) ?: (~(has by r.arc) %hoon) - %+ cope (fade cof bem arg) + %+ cope (fade cof bem) |= [cof=cafe hyd=hood] - %+ cope (abut:(meow bem arg) cof hyd) - (lake for bek) + (cope (cope (abut:(meow bem arg) cof hyd) (lake for bek)) fest) (fine cof ~) :: ++ lake :: check/coerce |= [for=mark bek=beak] |= [cof=cafe sam=vase] - ^- (bolt (unit vase)) + ^- (bolt vase) + %+ cool |.(leaf/"ford: check {<[for bek `@p`(mug q.sam)]>}") ?: ?=(?(%gate %core %hoon %hook %hood) for) - (fine cof ~ sam) - %+ cope (make cof %boil %gate [[p.bek %main r.bek] /ref/[for]/sys] ~) - |= [cof=cafe cay=cage] - %+ cope (lane cof p.q.cay [%cnzy %$]) + :: ~& [%lake-easy for bek] + (fine cof sam) + %+ cope (fame cof for bek) + |= [cof=cafe gat=vase] + %+ cope (lane cof p.gat [%cnzy %$]) |= [cof=cafe ref=type] ?: (~(nest ut ref) | p.sam) - (fine cof ~ sam) - %+ cope (maul cof q.cay sam) + :: ~& [%lake-neat for bek] + (fine cof sam) + :: ~& [%lake-work for bek] + %+ cope (maul cof gat sam) |= [cof=cafe pro=vase] - (fine cof ~ pro) + ?. =(q.pro q.sam) + (flaw cof (smyt [%gate for %pro ~]) ~) + (fine cof pro) :: ++ lave :: validate - |= [cof=cafe for=mark sax=sack som=*] - =+ lok=`case`[%da now] - =+ ^= own ^- ship - =+ von=(ska %cy (tope [[p.sax %main lok] /core/ref/[for]/sys])) - ?~(von q.sax p.sax) - ((lake for [own %main lok]) cof [%noun som]) - :: - ++ lair :: metaload - |= [for=mark bem=beam] - |= [cof=cafe vax=vase] + |= [cof=cafe for=mark his=ship som=*] ^- (bolt vase) - ?. (~(nest ut -:!>(*silk)) | p.vax) - (flaw cof (smyt (tope bem)) ~) - %+ cope (make cof ((hard silk) q.vax)) - |= [cof=cafe cay=cage] - (link cof for p.cay [p.bem q.bem r.bem] q.cay) + ((lake for [his %main [%da now]]) cof [%noun som]) :: ++ lane :: type infer |= [cof=cafe typ=type gen=twig] @@ -747,7 +755,7 @@ ?> ?=(^ u.wuy) %+ cope (make cof %bake i.u.wuy bem arg) |= [cof=cafe hoc=cage] - %+ cope (lope cof i.u.wuy t.u.wuy [p.bem q.bem r.bem] q.hoc) + %+ cope (lope cof i.u.wuy t.u.wuy bem q.hoc) |= [cof=cafe vax=vase] (fine cof ~ vax) :: @@ -763,16 +771,14 @@ ^$(s.mob t.s.mob, mer [i.s.mob mer]) :: ++ link :: translate - |= [cof=cafe too=mark for=mark bek=beak vax=vase] + |= [cof=cafe too=mark for=mark bem=beam vax=vase] ^- (bolt vase) ?: =(too for) (fine cof vax) + :: ?: &(=(%hoon for) |(=(%core too) =(%gate too) =(%door too))) ?: |(=(%noun for) =(%$ for)) - %+ cope ((lake too bek) cof vax) - |= [cof=cafe vux=(unit vase)] - ?~ vux (flaw cof [%leaf "ford: link {}"]~) - (fine cof u.vux) + ((lake too -.bem) cof vax) %+ cope - (make cof %boil %gate [[p.bek %main r.bek] /[too]/tan/[for]/sys] ~) + (make cof %boil %gate [[p.bem %main r.bem] /[too]/tan/[for]/sys] ~) |= [cof=cafe cay=cage] (maul cof q.cay vax) :: @@ -810,20 +816,13 @@ -- :: ++ lope :: translation pipe - |= [cof=cafe for=mark yaw=(list mark) bek=beak vax=vase] + |= [cof=cafe for=mark yaw=(list mark) bem=beam vax=vase] ^- (bolt vase) ?~ yaw (fine cof vax) - %+ cope (link cof i.yaw for bek vax) + %+ cope (link cof i.yaw for bem vax) |= [cof=cafe yed=vase] ^$(cof cof, for i.yaw, yaw t.yaw, vax yed) :: - ++ maid :: make with path tag - |= [cof=cafe kas=silk] - ^- (bolt (pair path cage)) - %+ cope (make cof kas) - |= [cof=cafe cay=cage] - (fine cof (home kas) cay) - :: ++ maim :: slap |= [cof=cafe vax=vase gen=twig] ^- (bolt vase) @@ -867,13 +866,6 @@ %+ cope (lime cof p.kas q.kas r.kas) |= [cof=cafe vax=vase] (fine cof `cage`[p.kas vax]) - :: - %brew - ~& %ford-brew - %+ cool |.(leaf/"ford: brew {} {<(tope q.kas)>} {}") - %+ cope (krab cof p.kas %hoon q.kas r.kas) - |= [cof=cafe vax=vase] - (fine cof `cage`[p.kas vax]) :: %call %+ cool |.(leaf/"ford: call {<`@p`(mug kas)>}") @@ -892,10 +884,10 @@ == :: %cast - %+ cool |.(leaf/"ford: cast {} {<(tope q.kas ~)>}") - %+ cope $(kas r.kas) + %+ cool |.(leaf/"ford: cast {}") + %+ cope $(kas q.kas) |= [cof=cafe cay=cage] - %+ cope (link cof p.kas p.cay q.kas q.cay) + %+ cope (link cof p.kas p.cay `beam`[[our %main %da now] ~] q.cay) |= [cof=cafe vax=vase] (fine cof [p.kas vax]) :: @@ -925,10 +917,8 @@ %vale %+ cool |.(leaf/"ford: vale {} {} {<`@p`(mug r.kas)>}") %+ cope (lave cof p.kas q.kas r.kas) - |= [cof=cafe vux=(unit vase)] - ?~ vux - (flaw cof [%leaf "invalid marks: {<[p.kas q.kas]>}"]~) - (fine cof `cage`[p.kas u.vux]) + |= [cof=cafe vax=vase] + (fine cof `cage`[p.kas vax]) == :: ++ maul :: slam @@ -951,6 +941,27 @@ boy=(list twig) :: body stack == |% + ++ able :: assemble preamble + ^- twig + :+ %tsgr + ?:(=(~ rop) [%$ 1] [%brcn (~(run by rop) |=([* a=twig] [%ash a]))]) + [%tssg (turn (flop lot) |=(a=term q:(need (~(get by bil) a))))] + :: + ++ ably :: naked protocol + |= [cof=cafe for=mark hyd=hood] + ^- (bolt twig) + %+ cope (apex cof hyd) + |= [cof=cafe sel=_..ably] + =. ..ably sel + %+ fine cof + ^- twig + :+ %tsgl [%cnzy for] + :- %brcn + ^- (map term foot) + %+ ~(put by `(map term foot)`(~(run by rop) |=([* a=twig] [%ash a]))) + for + [%ash [%tssg (flop boy)]] + :: ++ abut :: generate |= [cof=cafe hyd=hood] ^- (bolt vase) @@ -966,12 +977,6 @@ (fine cof fin) :: ~> %slog.[0 ~(duck ut p.q.cay)] :: - ++ able :: assemble preamble - ^- twig - :+ %tsgr - ?:(=(~ rop) [%$ 1] [%brcn (~(run by rop) |=([* a=twig] [%ash a]))]) - [%tssg (turn (flop lot) |=(a=term q:(need (~(get by bil) a))))] - :: ++ apex :: build to body |= [cof=cafe hyd=hood] ^- (bolt ,_..apex) @@ -1097,7 +1102,7 @@ (flaw cof [%leaf "protocol mismatch: {<~[p.u.byf i.bir]>}"]~) $(bir t.bir) =+ bem=(hone %gate %pro i.bir) - %+ cope (fade cof bem ~) + %+ cope (fade cof bem) |= [cof=cafe hyd=hood] %+ cope (apex(boy ~) cof hyd) |= [cof=cafe sel=_..head] @@ -1129,7 +1134,7 @@ (flaw cof [%leaf "library mismatch: {<~[p.u.byf i.bir]>}"]~) $(bir t.bir) =+ bem=(hone %core %lib i.bir) - %+ cope (fade cof bem ~) + %+ cope (fade cof bem) |= [cof=cafe hyd=hood] %+ cope (apex(zeg goz, boy ~) cof hyd) |= [cof=cafe sel=_..neck] @@ -1150,7 +1155,7 @@ %+ cope (lend cof p.hop) |= [cof=cafe arc=arch] ?: (~(has by r.arc) %hoon) - %+ cope (fade cof p.hop ~) + %+ cope (fade cof p.hop) |= [cof=cafe hyd=hood] %+ cope (apex(boy ~) cof hyd) |= [cof=cafe sel=_..wilt] diff --git a/arvo/gall.hoon b/arvo/gall.hoon index 600e52902..15a0c1187 100644 --- a/arvo/gall.hoon +++ b/arvo/gall.hoon @@ -111,7 +111,7 @@ [%done p=(set beam) q=cage] :: [%mute p=silk q=(list (pair wing silk))] :: [%ride p=silk q=sill] :: - [%vale p=mark q=sack r=*] :: + [%vale p=mark q=ship r=*] :: == :: ++ sill :: see %ford $% [%dirt p=twig] :: @@ -398,9 +398,9 @@ :_ ..^$ :_ ~ ^- move :- neh ?- -.ron - %d [%pass /x/d `note`[%f %exec p.saq ~ %vale p.ron saq q.ron]] + %d [%pass /x/d `note`[%f %exec p.saq ~ %vale p.ron q.saq q.ron]] %e [%give %mean p.ron] - %f [%pass /x/f `note`[%f %exec p.saq ~ %vale p.ron saq q.ron]] + %f [%pass /x/f `note`[%f %exec p.saq ~ %vale p.ron q.saq q.ron]] %k [%give %nice ~] == :: @@ -419,7 +419,7 @@ == ^- note ?- -.rok - %m [%f %exec p.saq ~ %vale p.rok saq q.rok] + %m [%f %exec p.saq ~ %vale p.rok q.saq q.rok] %s [%g %show [p.saq app] q.saq p.rok] %u [%g %nuke [p.saq app] q.saq] ==