Behn Examples
%wait
/- spider
/+ *strandio
=, strand=strand:spider
^- thread:spider
|= arg=vase
=/ m (strand ,vase)
^- form:m
=/ delay=@dr (need !<((unit @dr) arg))
;< t1=@da bind:m get-time
=/ =task:behn [%wait (add delay t1)]
=/ =card:agent:gall [%pass /timer %arvo %b task]
;< ~ bind:m (send-raw-card card)
;< res=(pair wire sign-arvo) bind:m take-sign-arvo
?> ?=([%timer ~] p.res)
?> ?=([%behn %wake *] q.res)
%- (slog ~[leaf+"Gift: {<+.q.res>}"])
?~ error.q.res
;< t2=@da bind:m get-time
%- (slog ~[leaf+"Time elapsed: {<`@dr`(sub t2 t1)>}"])
(pure:m !>(~))
%- (slog u.error.q.res)
(pure:m !>(~))%rest
Last updated