: future-values ( futures -- futures )
[ ?future ] map! ; inline
+: future-values-timeout ( futures timeout -- futures )
+ '[ _ ?future-timeout ] map! ; inline
+
PRIVATE>
: parallel-map ( seq quot: ( elt -- newelt ) -- newseq )
[future] map future-values ; inline
+: parallel-map-timeout ( seq quot: ( elt -- newelt ) timeout -- newseq )
+ [ [future] map ] dip future-values-timeout ; inline
+
: parallel-assoc-map-as ( assoc quot: ( key value -- newkey newvalue ) exemplar -- newassoc )
[
[ 2array ] compose '[ _ 2curry future ] { } assoc>map future-values