diff --git a/basis/concurrency/futures/futures.factor b/basis/concurrency/futures/futures.factor index 85f1ba44a0..132342aff1 100755 --- a/basis/concurrency/futures/futures.factor +++ b/basis/concurrency/futures/futures.factor @@ -1,13 +1,13 @@ ! Copyright (C) 2005, 2008 Chris Double, Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: concurrency.promises concurrency.mailboxes kernel arrays -continuations ; +continuations accessors ; IN: concurrency.futures : future ( quot -- future ) [ [ [ >r call r> fulfill ] 2curry "Future" ] keep - promise-mailbox spawn-linked-to drop + mailbox>> spawn-linked-to drop ] keep ; inline : ?future-timeout ( future timeout -- value ) diff --git a/basis/concurrency/promises/promises.factor b/basis/concurrency/promises/promises.factor index b432d63bfc..511decdf35 100755 --- a/basis/concurrency/promises/promises.factor +++ b/basis/concurrency/promises/promises.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2005, 2008 Chris Double, Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: concurrency.mailboxes kernel continuations ; +USING: accessors concurrency.mailboxes kernel continuations ; IN: concurrency.promises TUPLE: promise mailbox ; @@ -9,17 +9,17 @@ TUPLE: promise mailbox ; promise boa ; : promise-fulfilled? ( promise -- ? ) - promise-mailbox mailbox-empty? not ; + mailbox>> mailbox-empty? not ; : fulfill ( value promise -- ) dup promise-fulfilled? [ "Promise already fulfilled" throw ] [ - promise-mailbox mailbox-put + mailbox>> mailbox-put ] if ; : ?promise-timeout ( promise timeout -- result ) - >r promise-mailbox r> block-if-empty mailbox-peek ; + >r mailbox>> r> block-if-empty mailbox-peek ; : ?promise ( promise -- result ) f ?promise-timeout ;