shrub/gen/hood/merge.hoon

45 lines
1.1 KiB
Plaintext
Raw Normal View History

::
2015-09-12 00:15:25 +03:00
:::: /hoon/merge/hood/gen
::
/? 310
!:
|%
2016-02-11 22:09:40 +03:00
++ beaky {knot knot knot $~}
++ sorc ?({bek/beaky $~} {her/@p sud/@tas $~})
--
::
::::
!:
:- %say
|= $: {now/@da eny/@uvI bek/beak}
2016-02-11 22:09:40 +03:00
{arg/{?(sorc {syd/$@(desk beaky) sorc})} cas/case gem/?($auto germ)}
==
=* our p.bek
|^ :- %kiln-merge
^- {syd/desk her/ship sud/desk cas/case gem/?($auto germ)}
?- arg
2016-02-11 22:20:50 +03:00
{@ @ $~}
=+(arg [sud ?.(=(our her) her (sein her)) sud (opt-case da+now) gem])
::
{^ $~}
=+ (pars bek.arg)
[dez ?.(=(our who) who (sein who)) dez (opt-case caz) gem]
::
{* @ @ $~}
:- (pars-src syd.arg)
=+(arg [her sud (opt-case da+now) gem])
::
{* ^ $~}
:- (pars-src syd.arg)
2016-02-17 00:43:28 +03:00
=+((pars bek.arg) [who dez (opt-case caz) gem])
==
2016-02-17 00:43:28 +03:00
++ opt-case |=(a/case ?:(=(*case cas) a cas)) :: override
2016-02-11 22:09:40 +03:00
++ pars |=(a/beaky `{{who/ship dez/desk caz/case} *}`(need (tome a)))
++ pars-src
|= syd/$@(desk beaky)
?@ syd syd
=+ (pars syd)
~| [%into-foreign who `path`syd]
?>(=(our who) dez)
--