urbit/gen/solid.hoon
2016-11-16 17:42:58 -08:00

42 lines
908 B
Plaintext

:: Compile arvo as a pill noun, usage .urbit/pill +solid
::
:::: /hoon/solid/gen
::
/? 310
::
::::
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{$~ $~}
==
:- %noun
=+ top=`path`/(scot %p p.bec)/[q.bec]/(scot %da now)/arvo
=+ pax=`path`(weld top `path`[%hoon ~])
~& %solid-start
=+ gen=(reck pax)
~& %solid-parsed
=+ ken=q:(~(mint ut %noun) %noun gen)
~& %solid-compiled
:- ken
=+ all=.*(0 ken)
=+ ^= vay ^- (list {p/@tas q/@tas})
:~ [%$ %zuse]
[%c %clay]
[%g %gall]
[%f %ford]
[%a %ames]
[%b %behn]
[%d %dill]
[%e %eyre]
==
|- ^+ all
?~ vay all
=+ pax=(weld top `path`[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)