factor/extra/concurrency/combinators/combinators.factor

14 lines
448 B
Factor
Raw Normal View History

2008-02-18 10:08:59 -05:00
! Copyright (C) 2008 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: concurrency.futures concurrency.count-downs sequences
kernel ;
IN: concurrency.combinators
: parallel-map ( seq quot -- newseq )
[ curry future ] curry map dup [ ?future ] change-each ;
inline
: parallel-each ( seq quot -- )
"Parallel each" pick length <count-down>
[ [ spawn-stage ] 2curry each ] keep await ; inline