From 9febce42e6bc4c0970525b4114e99372de70b546 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Fri, 29 Aug 2008 16:18:09 -0500 Subject: [PATCH] new accessors --- basis/concurrency/futures/futures.factor | 4 ++-- basis/concurrency/promises/promises.factor | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) 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 ;