factor/basis/concurrency/futures/futures.factor

18 lines
526 B
Factor
Raw Normal View History

2008-02-18 06:07:40 -05:00
! Copyright (C) 2005, 2008 Chris Double, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: concurrency.promises concurrency.mailboxes kernel arrays
2008-11-30 19:28:15 -05:00
continuations accessors fry ;
2008-02-18 06:07:40 -05:00
IN: concurrency.futures
: future ( quot -- future )
<promise> [
2008-11-30 19:28:15 -05:00
[ '[ @ _ fulfill ] "Future" ] keep
2008-08-29 17:18:09 -04:00
mailbox>> spawn-linked-to drop
2008-02-18 06:07:40 -05:00
] keep ; inline
: ?future-timeout ( future timeout -- value )
?promise-timeout ?linked ;
2008-02-18 06:07:40 -05:00
: ?future ( future -- value )
?promise ?linked ;