Lazy lists stack effect fix
parent
2bed30672d
commit
9231140a85
|
@ -255,7 +255,7 @@ C: <lazy-subset> lazy-subset
|
||||||
: lsubset ( list quot -- result )
|
: lsubset ( list quot -- result )
|
||||||
over nil? [ 2drop nil ] [ <lazy-subset> <memoized-cons> ] if ;
|
over nil? [ 2drop nil ] [ <lazy-subset> <memoized-cons> ] if ;
|
||||||
|
|
||||||
: car-subset? ( lazy-subset -- )
|
: car-subset? ( lazy-subset -- ? )
|
||||||
[ lazy-subset-cons car ] keep
|
[ lazy-subset-cons car ] keep
|
||||||
lazy-subset-quot call ;
|
lazy-subset-quot call ;
|
||||||
|
|
||||||
|
@ -264,11 +264,7 @@ C: <lazy-subset> lazy-subset
|
||||||
set-lazy-subset-cons ;
|
set-lazy-subset-cons ;
|
||||||
|
|
||||||
M: lazy-subset car ( lazy-subset -- car )
|
M: lazy-subset car ( lazy-subset -- car )
|
||||||
dup car-subset? [
|
dup car-subset? [ lazy-subset-cons ] [ dup skip ] if car ;
|
||||||
lazy-subset-cons car
|
|
||||||
] [
|
|
||||||
dup skip car
|
|
||||||
] if ;
|
|
||||||
|
|
||||||
M: lazy-subset cdr ( lazy-subset -- cdr )
|
M: lazy-subset cdr ( lazy-subset -- cdr )
|
||||||
dup car-subset? [
|
dup car-subset? [
|
||||||
|
|
Loading…
Reference in New Issue