urbit/pkg/arvo/ted/sane.hoon
2021-04-06 11:47:48 +10:00

32 lines
550 B
Plaintext

/- spider
/+ *strandio
=>
|%
++ strand strand:spider
+$ input ?(%fix %check)
::
++ supported-apps
^- (list term)
~[%group-store]
::
++ poke-all-sane
|= =input
=/ m (strand ,~)
^- form:m
=/ apps supported-apps
|- =* loop $
?~ apps
(pure:m ~)
=* app i.apps
;< ~ bind:m (poke-our app sane+!>(input))
loop(apps t.apps)
--
::
^- thread:spider
|= vas=vase
=/ m (strand ,vase)
=+ !<([~ in=input] vas)
;< ~ bind:m (poke-all-sane in)
;< ~ bind:m (poke-our %sane noun+!>(in))
(pure:m !>("Done"))