mirror of
https://github.com/urbit/shrub.git
synced 2024-12-28 06:32:51 +03:00
83 lines
1.8 KiB
Plaintext
83 lines
1.8 KiB
Plaintext
|
::
|
||
|
:::: /hoon/effect/sole/mar
|
||
|
::
|
||
|
/? 310
|
||
|
/- sole
|
||
|
!:
|
||
|
::
|
||
|
::::
|
||
|
::
|
||
|
=, sole
|
||
|
=, format
|
||
|
|%
|
||
|
++ mar-sole-change :: XX dependency
|
||
|
|_ cha=sole-change
|
||
|
++ grow
|
||
|
|% ++ json
|
||
|
^- ^json
|
||
|
=, enjs
|
||
|
=; edi
|
||
|
=,(cha (pairs ted+(edi ted) ler+a+~[(numb own.ler) (numb his.ler)] ~))
|
||
|
|= det=sole-edit
|
||
|
?- -.det
|
||
|
%nop [%s 'nop']
|
||
|
%mor [%a (turn p.det ..$)]
|
||
|
%del (frond %del (numb p.det))
|
||
|
%set (frond %set (tape (tufa p.det)))
|
||
|
%ins (frond %ins (pairs at+(numb p.det) cha+s+(tuft q.det) ~))
|
||
|
==
|
||
|
--
|
||
|
--
|
||
|
++ wush
|
||
|
|= [wid=@u tan=tang]
|
||
|
^- tape
|
||
|
(of-wall (turn (flop tan) |=(a=tank (of-wall (wash 0^wid a)))))
|
||
|
::
|
||
|
++ purge :: discard ++styx style
|
||
|
|= a=styx ^- tape
|
||
|
%- zing %+ turn a
|
||
|
|= a=_?>(?=(^ a) i.a)
|
||
|
?@(a (trip a) ^$(a q.a))
|
||
|
--
|
||
|
::
|
||
|
|_ sef=sole-effect
|
||
|
::
|
||
|
++ grad %noun
|
||
|
++ grab :: convert from
|
||
|
|%
|
||
|
++ noun sole-effect :: clam from %noun
|
||
|
--
|
||
|
++ grow
|
||
|
=, enjs
|
||
|
|%
|
||
|
++ noun sef
|
||
|
++ json
|
||
|
^- ^json
|
||
|
?+ -.sef
|
||
|
~|(unsupported-effect+-.sef !!)
|
||
|
%mor [%a (turn p.sef |=(a=sole-effect json(sef a)))]
|
||
|
%err (frond %hop (numb p.sef))
|
||
|
%txt (frond %txt (tape p.sef))
|
||
|
%tan (frond %tan (tape (wush 160 p.sef)))
|
||
|
%det (frond %det json:~(grow mar-sole-change +.sef))
|
||
|
::
|
||
|
%pro
|
||
|
%+ frond %pro
|
||
|
(pairs vis+b+vis.sef tag+s+tag.sef cad+(tape (purge cad.sef)) ~)
|
||
|
::
|
||
|
%tab
|
||
|
:- %a
|
||
|
%+ turn p.sef
|
||
|
|= [=cord =^tank]
|
||
|
%+ frond %tab
|
||
|
%- pairs
|
||
|
:~ match+s+cord
|
||
|
info+(tape ~(ram re tank))
|
||
|
==
|
||
|
::
|
||
|
?(%bel %clr %nex %bye)
|
||
|
(frond %act %s -.sef)
|
||
|
==
|
||
|
--
|
||
|
--
|