]> gitweb.factorcode.org Git - factor.git/blob - basis/concurrency/futures/futures.factor
Fix permission bits
[factor.git] / basis / concurrency / futures / futures.factor
1 ! Copyright (C) 2005, 2008 Chris Double, Slava Pestov.\r
2 ! See http://factorcode.org/license.txt for BSD license.\r
3 USING: concurrency.promises concurrency.mailboxes kernel arrays\r
4 continuations accessors ;\r
5 IN: concurrency.futures\r
6 \r
7 : future ( quot -- future )\r
8     <promise> [\r
9         [ [ >r call r> fulfill ] 2curry "Future" ] keep\r
10         mailbox>> spawn-linked-to drop\r
11     ] keep ; inline\r
12 \r
13 : ?future-timeout ( future timeout -- value )\r
14     ?promise-timeout ?linked ;\r
15 \r
16 : ?future ( future -- value )\r
17     ?promise ?linked ;\r