Fixing bug in nil?
parent
520fc019cc
commit
c901734689
|
@ -160,19 +160,17 @@ C: <lazy-filter> lazy-filter
|
|||
over nil? [ 2drop nil ] [ <lazy-filter> <memoized-cons> ] if ;
|
||||
|
||||
: car-filter? ( lazy-filter -- ? )
|
||||
[ cons>> car ] keep
|
||||
quot>> call ;
|
||||
[ cons>> car ] [ quot>> ] bi call ;
|
||||
|
||||
: skip ( lazy-filter -- )
|
||||
dup cons>> cdr >>cons ;
|
||||
dup cons>> cdr >>cons drop ;
|
||||
|
||||
M: lazy-filter car ( lazy-filter -- car )
|
||||
dup car-filter? [ cons>> ] [ dup skip ] if car ;
|
||||
|
||||
M: lazy-filter cdr ( lazy-filter -- cdr )
|
||||
dup car-filter? [
|
||||
[ cons>> cdr ] keep
|
||||
quot>> lfilter
|
||||
[ cons>> cdr ] [ quot>> ] bi lfilter
|
||||
] [
|
||||
dup skip cdr
|
||||
] if ;
|
||||
|
|
Loading…
Reference in New Issue