]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/promises/promises.factor
factor: trim using lists
[factor.git] / basis / promises / promises.factor
index 10d028e012afe3b4c125360f64739ab504ad0a99..6122970f3102c600bf7045acfebff195a25556f4 100644 (file)
@@ -1,22 +1,21 @@
 ! Copyright (C) 2004, 2006 Chris Double, Matthew Willis.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays effects fry generalizations kernel math
-namespaces parser effects.parser sequences words ;
+USING: accessors effects.parser generalizations kernel
+sequences words ;
 IN: promises
 
 TUPLE: promise quot forced? value ;
 
-: promise ( quot -- promise ) f f \ promise boa ;
+: <promise> ( quot -- promise ) f f promise boa ;
 
 : force ( promise -- value )
     dup forced?>> [
         dup quot>> call( -- value ) >>value
         t >>forced?
-    ] unless
-    value>> ;
+    ] unless value>> ;
 
 : make-lazy-quot ( quot effect -- quot )
-    in>> length '[ _ _ ncurry promise ] ;
+    in>> length '[ _ _ ncurry <promise> ] ;
 
 SYNTAX: LAZY:
-    (:) [ make-lazy-quot ] [ 2nip ] 3bi define-declared ;
+    (:) [ make-lazy-quot ] keep define-declared ;