promises: simplify LAXY:.

char-rename
John Benediktsson 2017-01-24 16:06:17 -08:00
parent dcc3bf64a6
commit 2e9dce0b97
1 changed files with 4 additions and 5 deletions

View File

@ -1,7 +1,7 @@
! Copyright (C) 2004, 2006 Chris Double, Matthew Willis. ! Copyright (C) 2004, 2006 Chris Double, Matthew Willis.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: accessors arrays effects fry generalizations kernel math USING: accessors effects.parser fry generalizations kernel
namespaces parser effects.parser sequences words ; sequences words ;
IN: promises IN: promises
TUPLE: promise quot forced? value ; TUPLE: promise quot forced? value ;
@ -12,11 +12,10 @@ TUPLE: promise quot forced? value ;
dup forced?>> [ dup forced?>> [
dup quot>> call( -- value ) >>value dup quot>> call( -- value ) >>value
t >>forced? t >>forced?
] unless ] unless value>> ;
value>> ;
: make-lazy-quot ( quot effect -- quot ) : make-lazy-quot ( quot effect -- quot )
in>> length '[ _ _ ncurry <promise> ] ; in>> length '[ _ _ ncurry <promise> ] ;
SYNTAX: LAZY: SYNTAX: LAZY:
(:) [ make-lazy-quot ] [ 2nip ] 3bi define-declared ; (:) [ make-lazy-quot ] keep define-declared ;