urbit/pkg/arvo/mar/sole/effect.hoon

84 lines
1.8 KiB
Plaintext
Raw Normal View History

2015-04-10 09:57:04 +03:00
::
2016-02-05 06:05:37 +03:00
:::: /hoon/effect/sole/mar
2015-04-10 09:57:04 +03:00
::
2016-02-18 02:00:12 +03:00
/? 310
/- sole
/+ base64
!:
2016-11-17 04:42:58 +03:00
::
2015-04-10 09:57:04 +03:00
::::
::
2016-11-17 04:37:39 +03:00
=, sole
2016-12-03 02:47:16 +03:00
=, format
2015-04-10 09:57:04 +03:00
|%
++ mar-sole-change :: XX dependency
|_ cha=sole-change
2015-04-10 09:57:04 +03:00
++ grow
|% ++ json
^- ^json
2016-12-03 02:47:16 +03:00
=, enjs
=; edi
=,(cha (pairs ted+(edi ted) ler+a+~[(numb own.ler) (numb his.ler)] ~))
|= det=sole-edit
2015-04-14 23:38:37 +03:00
?- -.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) ~))
2015-04-10 09:57:04 +03:00
==
--
2015-04-10 09:57:04 +03:00
--
++ wush
|= [wid=@u tan=tang]
2015-04-10 09:57:04 +03:00
^- tape
(of-wall (turn (flop tan) |=(a=tank (of-wall (wash 0^wid a)))))
2015-04-10 09:57:04 +03:00
::
++ purge :: discard ++styx style
|= a=styx ^- tape
%- zing %+ turn a
|= a=_?>(?=(^ a) i.a)
?@(a (trip a) ^$(a q.a))
2015-04-10 09:57:04 +03:00
--
2016-11-17 04:42:58 +03:00
::
|_ sef=sole-effect
2015-04-10 09:57:04 +03:00
::
++ grad %noun
2015-04-10 09:57:04 +03:00
++ grab :: convert from
|%
++ noun sole-effect :: clam from %noun
--
++ grow
2016-12-03 02:47:16 +03:00
=, enjs
2015-04-10 09:57:04 +03:00
|%
++ noun sef
2015-04-10 09:57:04 +03:00
++ 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
2016-12-03 02:47:16 +03:00
%+ 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)
2016-12-03 02:47:16 +03:00
(frond %act %s -.sef)
2015-04-10 09:57:04 +03:00
==
--
--