urbit/pkg/arvo/ted/eval.hoon

36 lines
720 B
Plaintext
Raw Normal View History

2023-02-16 23:29:08 +03:00
/- spider
/+ strandio
=, strand=strand:spider
=>
|%
+$ deps (list path)
+$ inpt $@(cord (pair cord deps))
--
^- thread:spider
|= raw=vase
=/ m (strand ,vase)
^- form:m
=+ !<(arg=(unit inpt) raw)
?~ arg
(strand-fail:strand %no-input ~)
?@ u.arg
?~ u.arg
(strand-fail:strand %no-command ~)
(eval-hoon:strandio (ream u.arg) ~)
?~ p.u.arg
(strand-fail:strand %no-command ~)
;< =beak bind:m get-beak:strandio
=/ paz=(list path) q.u.arg
=/ bez=(list beam) ~
|-
?~ paz
(eval-hoon:strandio (ream p.u.arg) bez)
=/ bem
%+ fall
(de-beam i.paz)
[beak i.paz]
;< has=? bind:m (check-for-file:strandio bem)
?. has
(strand-fail:strand %no-file >bem< ~)
$(paz t.paz, bez [bem bez])