promises: simplify LAXY:.
parent
dcc3bf64a6
commit
2e9dce0b97
|
@ -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 ;
|
||||||
|
|
Loading…
Reference in New Issue