:: Compile arvo as a pill noun, without compiler changes. :: usage :: :: .urbit/pill +solid :: :::: /hoon/solid/gen :: /? 310 :: :::: !: :- %say |= $: {now/@da eny/@uvJ bec/beak} {arg/$@($~ {top/path $~}) dub/_|} == ?~ arg $(arg ~[top=`path`/(scot %p p.bec)/[q.bec]/(scot %da now)/sys]) :: :- %noun =+ pax=`path`(weld top.arg `path`[%hoon ~]) =+ arp=`path`(weld top.arg `path`[%arvo ~]) ~& %solid-start =+ txt=.^(@t %cx (weld pax `path`[%hoon ~])) =+ rax=.^(@t %cx (weld arp `path`[%hoon ~])) =+ ^= ken =- ?:(?=($& -.res) p.res (mean (flop p.res))) ^= res %- mule |. ~& %solid-loaded =+ gen=(rain pax txt) ~& %solid-parsed =+ one=(~(mint ut %noun) %noun gen) ~& %solid-compiled ?. dub =+ two=(~(mint ut p.one) %noun (rain arp rax)) ~& %solid-arvo [7 q.one q.two] =/ tri ''' :: XX moveme to, uh arvo probably, this depends on too many names |= [pax=path txt=@t arp=path rax=@t] =+ gen=(rain pax txt) ~& %solid-double-parsed =+ one=(~(mint ut %noun) %noun gen) ~& %solid-double-compiled =+ two=(~(mint ut p.one) %noun (rain arp rax)) ~& %solid-arvo [7 q.one q.two] ''' =+ all=.*(0 q.one) .* all :+ 7 =<(+ .*(all [9 2 0+2 1+[p.one tri] 0+7])) [9 2 0+2 1+[pax txt arp rax] 0+7] :: ~& [%solid-kernel `@ux`(mug ken)] :- ken =+ all=.*(0 ken) =+ ^= vay ^- (list {p/@tas q/path}) :~ [%$ /zuse] [%b /vane/behn] [%d /vane/dill] [%a /vane/ames] [%c /vane/clay] [%g /vane/gall] [%e /vane/eyre] [%f /vane/ford] == |- ^+ all ?~ vay all =+ pax=(weld top.arg q.i.vay) =+ txt=.^(@ %cx (weld pax `path`[%hoon ~])) =+ sam=[now `ovum`[[%gold ~] [%veer p.i.vay pax txt]]] ~& [%solid-veer i.vay] =+ gat=.*(all .*(all [0 42])) =+ nex=+:.*([-.gat [sam +>.gat]] -.gat) $(vay t.vay, all nex)